Python基础语法、内建数据结构列表、元组、字典、集合的讲解及应用(附源码 超详细必看)

简介: Python基础语法、内建数据结构列表、元组、字典、集合的讲解及应用(附源码 超详细必看)

需要完整PPT请点赞关注收藏后评论区留言并且私信~~~

一、Python基础语法

Python是一个结合了解释性、编译性、互动性和面向对象的高级程序设计语言。其结构简单,语法定义清晰。Python最具特色的就是使用缩进来表示代码块,不需要使用大括号{}。

Python3 中有六种标准的数据类型:Number(数字)、String(字符串)、List(列表)、Tuple(元组)、Set(集合)和Dictionary(字典)。其中,不可变数据类型有Number、String和Tuple;可变数据类型有List、Dictionary和Set。

Python中的变量是不需要声明数据类型的,变量的“类型”是所指的内存中被赋值对象的类型。同一变量可以反复赋值,而且可以是不同类型的变量

变量赋值实例如下

brower, count, addsum = 'Google', 100, 123.45
print(brower, count, addsum)

运算符和表达式

运算符用于执行程序代码运算,会针对一个以上的操作数进行运算。Python语言支持算术运算符、关系运算符和逻辑运算符。

各类运算符的优先级顺序为:逻辑运算符<关系运算符<算数运算符

字符串

转义字符

字符串被定义为引号之间的字符集合,在Python中,字符串用单引号('), 双引号("), 三引号(''')括起来。当Python字符串中有一个反斜杠时表示一个转义序列的开始,称反斜杠为转义符。

\n 换行

\" 双引号

\\ 反斜杠

\t 制表符

Python允许用r+""的方式表示""内部字符串不转义

print("python\nprogram")
print(r"python\nprogram")

字符串的运算

Python特有的索引规则为:第一个字符的索引是0,后续字符索引依次递增,或者从右向左编号,最后一个字符的索引号为-1,前面的字符依次减1,主要运算  +  *  切片。

+ 连接操作

* 重复操作

[] 索引

[:] 切片

流程控制

1:条件语句

条件机构又称为选择结构 根据判断条件 程序选择执行特定的代码

compound = input("请输入化学分子式:")
if compound == "H2O":
    print("water")
elif compound == "NH3":
    print("ammonia")
elif compound == "CH4":
    print("methone")
else:
    print("no exist")

2:循环语句

循环结构是指满足一定的条件下,重复执行特定代码块的一种编码结构

sum=0
i = 1
while i<6:
    sum = sum+i
    i = i+1
print("sum is %d." %sum)

下面的代码将数组中的奇数变成它的平方 偶数保持不变

x = [ 1,2,3,4,8,7, 22,33, 88]
print("原数据:",x)
for i in range(len(x)):
    if(x[i] % 2) !=0:   # 判读第 i 个元素是否为奇数
        x[i] = x[i] * x[i]
print("处理后:",x)

函数

函数是对程序逻辑进行过程化和结构化的一种方法。有了函数,可将大块的代码巧妙合理地隔离成容易管理和维护的小块。

函数定义语法格式如下所示: def  function_name(arguments): function_block

Python使用lambda来创建匿名函数

下面定义函数计算阶乘

def fac(n):
    s=1;
    for i in range(2,n+1):
        s=s*i
    return s
n=5
print('%d!=%d'%(n,fac(n)))

定义一个lambda函数计算多项式1+2x+y2+zy的值

polynominal = lambda x,y,z: 1+2*x+y**2+z*y
polynominal(1,2,3)

二、内建数据结构

在Python中,最基本的数据结构是序列。序列中的成员有序排列,可以通过下标偏移量访问到它的一个或几个成员。除了前面已经介绍过的字符串,最常见的序列是列表和元组。

列表是Python中最具灵活性的有序集合对象类型。和字符串不同的是,列表具有可变长度、异构以及任意嵌套列表的特点。列表是可变对象,支持在原处修改。

1:列表

列表的常用方法

(1)增加元素  L.append(v)

(2)查找给定的元素  L.index(x)

(3)删除列表中的元素  L.remove(v)

(4)列表元素倒排、统计和排序   L.reverse()用以倒排列表中的元素,L.count(x)实现返回x在列表中出现的次数。

list = ['a', 'b', 'c', 'd']
list.append('Baidu')
print ("追加后的列表 : ", list)
list.insert(1, 'Google')
print ("插入元素后的列表 : ", list)

查找给定的元素 返回索引

list = ['a', 'b', 'c', 'd']
print ('b索引值为', list.index('b'))

删除第一次找到的数值

list = ['a', 'b', 'c', 'd']
list. remove('d')
print ("列表现在为 : ", list)
p=list. pop()
print ("删除 %r 后的列表为 %r : " % (p, list))
print ("删除元素为 : ", list.pop(1))

列表元素倒排、统计和排序

List = ['a', 'b', 'c','a', 'd','a','c']
List.reverse()
print('倒排后的List:',List)
print ('c的出现次数是:', List.count('c'))
List.sort(reverse=True)
List

列表推导式

列表推导式提供了从序列创建列表的简单途径。通常应用程序将一些操作应用于某个推导序列的每个元素,用其获得的结果作为生成新列表的元素,或者根据确定的判定条件创建子序列。

vec = [2, 4, 6, 8, 10]
print([3*x for x in vec])
vec = [2, 4, 6,8,10]
print([3*x  for  x  in  vec  if x > 6])
vec1 = [2, 4, 6]
vec2 = [4, 3, -9]
print([x*y for x in vec1 for y in vec2 if x*y>0])

2:元组

元组  元组有很多用途,例如,坐标(x, y),数据库中的员工记录等等。元组和字符串一样,不可改变,即不能给元组的一个独立的元素赋值。元组和列表看起来不同的一点是元组用的是圆括号(),而列表用的是方括号[]。

tup = tuple('bar')  #创建元组
print('输出元组tup:',tup)  #输出元组
nested_tup = (4,5,6),(7,8)
print('输出元组tup:',nested_tup)  #元素是元组的元组
print('元组的连接',tup+tuple('wwy'))
a,b,c = tup  #元组的拆分
print(a,b,c)
print(tup.count(a)) # 统计某个数值在元组中出现的次数

3:字典

字典也称映射,是一个由键/值对组成的非排序可变集合体。键值对在字典中以下面的方式标记:

dict = {key1 : value1, key2 : value2 }

scientists = {'Newton' : 1642, 'Darwin' : 1809, 'Turing' : 1912}
print('keys:', scientists.keys())  #返回字典中的所有键
print('values:', scientists.values()) #返回字典中的所有值
print('items:', scientists.items()) #返回所有键值对
print('get:', scientists.get('Curie', 1867))  # get方法
temp = {'Curie' : 1867, 'Hopper' : 1906, 'Franklin' : 1920}
scientists.update(temp)  #用字典temp更新字典scientists
print('after update:', scientists)
scientists.clear() # 清空字典
print('after clear:', scientists)

4:集合

集合是一个由唯一元素组成的非排序集合体。也就是说,集合中的元素没有特定顺序,也没有重复项。集合可以使用大括号{ }或者set()函数创建集合,但是,创建一个空集合必须用 set(),因为{ }是用来创建一个空字典。

set1 = set([0,1,2,3,4])
set2 = set([1,3,5,7,9])
print(set1.issubset(set2))
print(set1.union(set2))
print(set2.difference(set1))
print(set1.issubset(set2))

创作不易 觉得有帮助请点赞关注收藏~~~

相关文章
|
3天前
|
存储 监控 安全
企业上网监控系统中红黑树数据结构的 Python 算法实现与应用研究
企业上网监控系统需高效处理海量数据,传统数据结构存在性能瓶颈。红黑树通过自平衡机制,确保查找、插入、删除操作的时间复杂度稳定在 O(log n),适用于网络记录存储、设备信息维护及安全事件排序等场景。本文分析红黑树的理论基础、应用场景及 Python 实现,并探讨其在企业监控系统中的实践价值,提升系统性能与稳定性。
17 1
|
1月前
|
存储 安全 Java
Java 集合面试题从数据结构到 HashMap 源码剖析详解及长尾考点梳理
本文深入解析Java集合框架,涵盖基础概念、常见集合类型及HashMap的底层数据结构与源码实现。从Collection、Map到Iterator接口,逐一剖析其特性与应用场景。重点解读HashMap在JDK1.7与1.8中的数据结构演变,包括数组+链表+红黑树优化,以及put方法和扩容机制的实现细节。结合订单管理与用户权限管理等实际案例,展示集合框架的应用价值,助你全面掌握相关知识,轻松应对面试与开发需求。
121 3
|
1月前
|
人工智能 前端开发 数据处理
如何将Python元组转换为列表
本文介绍了在Python中将元组转换为列表的方法。通过内置的`list()`函数,可以轻松地将一个元组转换为列表。此外,文章还提供了如何使用列表推导式和`itertools.chain()`方法将包含多个元组的列表展平为单一列表的示例。这些方法对于数据处理和转换非常实用,能够帮助开发者高效操作序列类型数据。文中附有代码实例及输出结果,便于理解与实践。
|
4月前
|
存储 人工智能 索引
Python数据结构:列表、元组、字典、集合
Python 中的列表、元组、字典和集合是常用数据结构。列表(List)是有序可变集合,支持增删改查操作;元组(Tuple)与列表类似但不可变,适合存储固定数据;字典(Dictionary)以键值对形式存储,无序可变,便于快速查找和修改;集合(Set)为无序不重复集合,支持高效集合运算如并集、交集等。根据需求选择合适的数据结构,可提升代码效率与可读性。
|
5月前
|
安全 数据处理 索引
深入探讨 Python 列表与元组:操作技巧、性能特性与适用场景
Python 列表和元组是两种强大且常用的数据结构,各自具有独特的特性和适用场景。通过对它们的深入理解和熟练应用,可以显著提高编程效率和代码质量。无论是在数据处理、函数参数传递还是多线程环境中,合理选择和使用列表与元组都能够使得代码更加简洁、高效和安全。
125 9
|
5月前
|
DataX
☀☀☀☀☀☀☀有关栈和队列应用的oj题讲解☼☼☼☼☼☼☼
### 简介 本文介绍了三种数据结构的实现方法:用两个队列实现栈、用两个栈实现队列以及设计循环队列。具体思路如下: 1. **用两个队列实现栈**: - 插入元素时,选择非空队列进行插入。 - 移除栈顶元素时,将非空队列中的元素依次转移到另一个队列,直到只剩下一个元素,然后弹出该元素。 - 判空条件为两个队列均为空。 2. **用两个栈实现队列**: - 插入元素时,选择非空栈进行插入。 - 移除队首元素时,将非空栈中的元素依次转移到另一个栈,再将这些元素重新放回原栈以保持顺序。 - 判空条件为两个栈均为空。
|
6月前
|
存储 算法 测试技术
【C++数据结构——线性表】求集合的并、交和差运算(头歌实践教学平台习题)【合集】
本任务要求编写程序求两个集合的并集、交集和差集。主要内容包括: 1. **单链表表示集合**:使用单链表存储集合元素,确保元素唯一且无序。 2. **求并集**:遍历两个集合,将所有不同元素加入新链表。 3. **求交集**:遍历集合A,检查元素是否在集合B中存在,若存在则加入结果链表。 4. **求差集**:遍历集合A,检查元素是否不在集合B中,若满足条件则加入结果链表。 通过C++代码实现上述操作,并提供测试用例验证结果。测试输入为两个集合的元素,输出为有序集合A、B,以及它们的并集、交集和差集。 示例测试输入: ``` a c e f a b d e h i ``` 预期输出:
182 7
|
11月前
|
存储 索引 Python
Python学习笔记----列表、元组和字典的基础操作
这篇文章是一份Python学习笔记,涵盖了列表、元组和字典的基础操作,包括它们的创建、修改、删除、内置函数和方法等。
Python学习笔记----列表、元组和字典的基础操作
|
9月前
|
存储 安全 Serverless
Python学习四:流程控制语句(if-else、while、for),高级数据类型(字符串、列表、元组、字典)的操作
这篇文章主要介绍了Python中的流程控制语句(包括if-else、while、for循环)和高级数据类型(字符串、列表、元组、字典)的操作。
142 0
|
9月前
|
存储 JSON 数据处理
分析、总结Python使用列表、元组、字典的场景
分析、总结Python使用列表、元组、字典的场景
169 0

热门文章

最新文章

推荐镜像

更多