python元组操作
点击上方蓝字关注我们

注意喽!
元组也是一组有序数据的组合,和列表不同是,元组只允许访问, 无法修改, 删除 及 添加.
01
元组基本操作
- 创建空元组
变量 = ()
变量 = tuple()
1 | In [1]: t1 = () |
- 有数据(元素)的元组
单个元素的元素
变量 = (值, )
变量 = 值,
1 | In [7]: t4 = (1,) |
- 具有多个数据的元组
变量 = (值,值,值….)
变量 = 值,值,值….
1 | In [11]: t6 = (1,2) |
- 访问元组中的元素
变量[索引]
1 | In [15]: t8 = (1,2) |
- 删除整个元组
del 元组变量
1 | In [17]: del t8 |
- 元组相加操作
变量 = 元组1 + 元组2
1 | In [19]: t1 = (1, 2) |
- 元组相乘操作
变量 = 元组 * 整数
1 | In [23]: t1 = (1, 2) |
- 索引操作
8.1 获取整个元组
变量 = 元组[:]
1 | In [26]: t5 = (1,2,3,4,5,6) |
8.2 获取元组开头到结束索引之前的数据组成的元组
变量 = 元组[:结束索引]
1 | In [28]: t5[:2] |
8.3 获取元组开始索引到元组末尾的数据组成的元组
变量 = 元组[开始索引:]
1 | In [30]: t5[2:] |
8.4 获取开始索引和结束索引之间的数据组成的元组(包含开始索引,不包含结束索引)
变量 = 元组[开始索引:结束索引]
1 | In [32]: t5[2:4] |
8.5 获取开始索引和结束索引之间的数据(按照间隔值来获取)组成的元组(包含开始索引,不包含结束索引)
变量 = 元组[开始索引:结束索引:间隔值]
1 | In [33]: t5[1:4:2] |
- 成员检测
9.1 检测一个数据是否在元组中
值 in 元组
1 | In [34]: 1 in t5 |
9.2 检测一个数据是否不在元组中
值 not in 元组
1 | In [36]: 2 not in t5 |
02
元组常用函数操作
- index(索引): 查看值在元组中的索引
1 | In [38]: t5 = (1,2,3,4,5,6) |
- count(值): 查看值在元组中的数量
1 | In [40]: t5.count(6) |
- len(元组): 元组长度
1 | In [41]: len(t5) |
- max(元组): 元组中的最大值
1 | In [42]: max(t5) |
- min(元组): 元组中的最小值
1 | In [43]: min(t5) |
- sum(元组): 计算元组中所有元素的和
1 | In [44]: sum(t5) |
03
元组推导式
注意: 结果是一个生成器, 需要使用tuple()转为元组
- 简单的元组推导式
格式:(变量可以操作 for 变量 in 元组)
结果:遍历元组中的每个值,将每个值获取之后组成新的元组, 可以对获取的值进行修改
1 | In [45]: t1 = (1,2,3,4,5) |
- 带有判断条件的元组推导式
格式:(变量 for 变量 in 元组 if 条件表达式)
结果:遍历元组中的每个值,根据判断条件决定是否取出指定的值组成新的元组,可以对获取的值进行修改
1 | In [49]: t3 = (i for i in t1 if i > 2) |
- 多个元组的同时循环的元组推导式
变量1和变量2可以进行其它计算或操作
新的元组中元素个数=元组1中元素个数 * 元组2中的元素个数
格式:(变量1+变量2 for 变量1 in 元组1 for 变量2 in 元组2)
结果:同时遍历元组1和元组2中的每个值,将元组1中的每个值和元组2中的每个值进行运算得到新的元组
1 | In [55]: t1 = (1,2,3,4,5) |
- 带有判断条件的多个元组的同时循环元组推导式
新的元组数量由判断条件决定 = 符合条件的剩余的元组1个数 * 符合条件的剩余的元组2个数
格式:(变量1+变量2 for 变量1 in 元组1 for 变量2 in 元组2 if 条件表达式)
结果:同时遍历元组1和元组2中的每个值,根据判断条件将元组1中的值和元组2中的值进行运算,得到新的元组
1 | In [59]: t5 = (i + ii for i in t1 for ii in t2 if i > 2 and ii > 2) |
