列表是一种存储大量数据的存储模型。编程
列表具备索引的概念,能够经过索引操做列表中的数据。列表中的数据能够进行添加、删除、修改、查询等操做。数据结构
建立列表: 变量名 = [数据1,数据2,...]spa
获取列表数据: 变量名[索引]3d
修改列表数据: 变量名[索引] = 值 code
元组是一种存储固定数据的存储模型。cdn
元组具备索引的概念,能够经过索引操做元组中的数据。元组中的数据可行查询操做,但不能进行添加、删除、修改操做。对象
建立元组: 变量名 = (数据1,数据2,...)blog
获取元组数据: 变量名[索引]索引
元组中的数据若是是非引用类型数据,不容许修改字符串
元组中的数据若是是引用类型对象,该对象不容许替换,而对象的属性值能够发生改变
自动组包:将多个数据赋值给一个变量时,多个数据将包装成一个元组,将元组赋值给变量,该过程称为自动组包。
应用场景:设置返回值为多个值
return 1,2,3 等同于 return (1,2,3)
复制代码
应用场景:动态字符串赋值传值方式
print("坐标%d,%d" % (10,20))
复制代码
自动解包:将元组赋值给多个变量时,若是元组数据的数量与变量的数量相同,元组将被自动拆分红多个值,并赋值给对应变量,该过程称为自动解包。
场景:多个变量接收返回值
a,b,c = func()等同于 a,b,c = (1,2,3)等同于a,b,c = 1,2,3
复制代码
场景:动态字符串赋值取值方式
print(“坐标%d,%d” % (10,20)) 将10给第一个%d,将20给第二个%d
复制代码
集合是一种存储大量无序不重复数据的存储模型。
集合没有索引的概念。集合中的数据能够进行添加、删除等操做。
建立集合:
变量名 = {数据1,数据2,......}
复制代码
字典是一种使用“键值对结构”存储数据的存储模型。
字典不具备索引的概念,字典使用键key代替索引,能够经过键操做字典中存储的数据value。字典能够根据键key进行数据的添加、删除、修改、查询操做。
建立字典: 变量名 = {键1:值1,键2:值2,……}
添加数据: 变量名[键] = 值 (字典中没有对应的键)
获取数据: 变量名[键]
修改数据: 变量名[键] = 值 (字典中存在对应的键)
字典中的键是惟一的
1.当须要存储少许数据,而且指望在编程期以最快的速度获取单个数据, 推荐选择字典。
2.当须要使用非对象格式保存单个对象的属性值,推荐选择字典。
for循环用于对数据存储模型进行访问遍历
for 变量名 in 列表:
变量相关操做
复制代码
建立连续的整数
格式1:range(m) 生成 0 到 m-1 的整数
格式2:range(m,n) 生成 m 到 n-1 的整数
格式3:range(m,n,s) 生成 m 到 n-1 的整数,整数间隔为s
1.配合for循环构造指定次数的循环
for _ in range(..):
____循环执行的代码
复制代码
2.快速建立由连续的整数做为数据的列表、元组、集合对象
list(range(..))
tuple(range(..))
set(range(..))
数据结构嵌套指一种数据结构中包含的数据是另外一种数据结构
获取列表、元组或字符串中的局部数据
容器对象[开始索引:结束索引:步长]
省略开始索引:默认开始索引为0
范例:list1[:5:1] 等同于 list1[0:5:1]
省略结束索引:默认结束索引为数据总量
范例:list1[0::1] 等同于 list1[0:len(list1):1]
省略步长:每次递增索引数为1
范例:list1[0:5:] 等同于 list1[0:5:1]
负数步长: 反向操做/反向步长操做,须要开始索引、结束索引逆序输入
范例:list1[5:0:-1]
常见格式:
范例:list1[:5:] 获取索引5以前的数据(不含5)
范例:list1[4::] 获取索引4以后的数据(含4)
复制代码
for 变量名 in 列表:
变量相关操做
else:
循环正常运行结束后执行的操做
复制代码
1.若是for循环中执行了break语句,则else中的代码将不执行
2.while循环一样具备while…else语法格式
基础语法格式: 循环变量 for 循环
范例:list1 = [data for data in range(5)]
数据处理语法格式: 表达式 for循环
范例:list1 = [data*5 for data in range(5)]
数据过滤语法格式: 表达式 for循环 if判断
范例:list1 = [data for data in range(5) if data > 200]
复制代码
推导式能够快速生成数据存储结构中的数据
范例1:建立包含1到100全部整数的列表
list1 = [data for data in range(1,101)]
范例2:建立包含1到10的平方和的列表
list2 = [data**2 for data in range(1,11)]
范例3:建立字典,key从1到5,value是key的平方
dict1 = [(data,data**2) for data in range(1,6)]
复制代码