文档声明:
以下资料均属于本人在学习过程中产出的学习笔记,如果错误或者遗漏之处,请多多指正。并且该文档在后期会随着学习的深入不断补充完善。感谢各位的参考查看。
笔记资料仅供学习交流使用,转载请标明出处,谢谢配合。
如果存在相关知识点的遗漏,可以在评论区留言,看到后将在第一时间更新。
作者:Aliven888
1、元祖(tuple)
元组 和 列表 最大的区别就在于:列表 中的元素可以被随意增加和删处(也成为可变序列),但是 元组 是不行的,元组 是不可以被随意增加、删处和修改的(也成为不可变系列)。
格式
# 括号可以省略, 但是逗号(",")不能省略的
tupleA = tuple(1,2,3,4) 或者 tupleA = 1, 2, 3, 4 或者 tupleA = (1,2,3,4)
# 定义一个空的元组
tupleB = (1,) # 这里 逗号 不能省略,否是会变成 int 类型
>>> A = (1)
>>> type(A)
<type 'int'> # 是 int 类型
>>> A = (1,)
>>> type(A)
<type 'tuple'> # 是 tuple 类型
# 定义一个空的元组
tupleC = ()
>>> c = ()
>>> type(c)
<type 'tuple'>
# 元组也继承了 列表的分片功能
# 获取索引从 from 到 end 的元素,不包含索引为 end 的元素
tuple[from:end]
#获取索引从 from 到 end 的元素,间隔为 step,不包含索引为 end 的元素
tuple[from:end:step]
元组 内置函数(BIF)
方法 | 描述 |
---|---|
len(tuple) | 计算元组元素个数。 |
max(tuple) | 返回元组中元素最大值。 |
min(tuple) | 返回元组中元素最小值。 |
tuple(iterable) | 将可迭代系列转换为元组。 |
演示实例:
>>> tuple1 = (0,1,2,3,4,5,6,7,8,9)
# 获取元组的元素个数
>>> len(tuple1)
10
# 获取索引为 2 的元素值
>>> tuple1[2]
2
# 分片
>>> tuple1[0:5]
(0, 1, 2, 3, 4)
# 按步长分片
>>> tuple1[0:9:2]
(0, 2, 4, 6, 8)
# 修改元组元素值 —— 非法操作
>>> tuple1[2] = 33
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
tuple1[2] = 33
TypeError: 'tuple' object does not support item assignment
2、高级用法
这里直接以演示举例的方式进行介绍。
>>> tuple1 = (1,2,3,4)
>>> tuple2 = (5,6,7,8)
>>> tuple3 = tuple1 + tuple2 # 元组的加法
>>> tuple3
(1, 2, 3, 4, 5, 6, 7, 8)
>>> del tuple3
>>> tuple3 # 已被删除了,再次操作会抛出异常
Traceback (most recent call last):
File "<pyshell#15>", line 1, in <module>
tuple3
NameError: name 'tuple3' is not defined
# (6,) 是一个元组
>>> tuple1 = tuple1 + (6,)
>>> tuple1
(1, 2, 3, 4, 6)
# in 和 not in 用法
>>> 2 in tuple1
True
>>> 5 in tuple1
False
3、zip 内建函数
可以把多个列表对应位置的元素组合为元组。并返回一个zip对象。
>>> a = [1,2,3]
>>> b = [4,5,6]
>>> c = [7,8,9]
>>> d = zip(a,b,c)
>>> list(d) # 将 zip 对象转成 list
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]