本篇博文,讲解Python中常用的元组及相关操作,下面开始干货。
元组相关定义
- 元组是任意对象的有序集合。
a = (1, 2, 3, 4 ,5 ,6) # (1, 2, 3, 4, 5, 6)
a = tuple([1, 2, 3, 4 ,5 ,6]) # (1, 2, 3, 4, 5, 6)
a = ('a', 'b', 3, 4 ,5 ,6) # ('a', 'b', 3, 4, 5, 6)
b = 5
a = (b, 3, ['s', 4, 5]) # (5, 3, ['s', 4, 5])
- 元组可以通过偏移进行存取,支持索引与分片。
a = (1, 2, 3, 4 ,5 ,6)
a[3] # 4
a[-1] # 6
a[:5] # (1, 2, 3, 4, 5)
- 元组属于不可变序列类型,与字符串类似。注意,元组与列表不同,没有append方法了。
a = (1, 2, 3, 4 ,5 ,6)
a[0] = 0 # TypeError: 'tuple' object does not support item assignment
a.append(7) # AttributeError: 'tuple' object has no attribute 'append'
a = (1, 2, [3, 4, 5], 6, 7)
a[2][0] = 0 # (1, 2, [0, 4, 5], 6, 7)
- 元组是固定长度,可支持异构,任意嵌套,元组无法增长或缩短。
a = (1, 2, 3, 4 ,5 ,6) # (1, 2, 3, 4, 5, 6)
a = (1, [2, 3], (4, 5), {
'name': 666}) # (1, [2, 3], (4, 5), {'name': 666})
- 对象引用的数组,可将元组看做对象引用的数组,对象无法更改。
元组相关操作
运算 | 解释 |
---|---|
() | 空元组 |
T=(0,) | 单个元素的元组 |
T=(0,‘Ni’,1.2,3) | 四个元素的元组 |
T=0,‘Ni’,1.2,3 | 四个元素的元组 |
T=(‘abc’,(‘def’,‘ghi’)) | 嵌套元祖 |
T=tuple(‘spam’) | 一个可迭代对象的项的元组 |
T[i] | 索引 |
T[i][j] | 索引的索引 |
T[i:j] | 分片 |
len(T) | 长度 |
T1 + T2 | 合并 |
T * 3 | 重复 |
for x in T: print(x) | 迭代 |
[x ** 2 for x in T] | 迭代 |
‘a’ in T | 成员关系 |
T.inedx(‘Ni’) | Python 2.6及之后的版本中或Python 3.0及之后的版本中的搜索 |
T.count(‘Ni’) | Python 2.6及之后的版本中或Python 3.0及之后的版本中的计数 |
- 对于单个数字的元组,需要加上逗号,比如(10,);不加逗号是实数。
a = (10,) # (10,)
a = (10) # 10
- 列表解析也可用于元组。
a = (1, 2, 3, 4, 5, 6)
[x **2 for x in a] # [1, 4, 9, 16, 25, 36]
以上,欢迎各位读者朋友提出意见或建议。
欢迎阅读笔者后续博客,各位读者朋友的支持与鼓励是我最大的动力!
written by jiong
人生的意义在于磨炼灵魂。