元组

元组编写为一系列对象,用逗号隔开,用括号括起来。与列表类似,但不支持原处修改。

虽然元组不支持任何方法调用,但元组具有列表的大多数属性:

任意对象的有序集合

通过偏移存取

不可变序列类型

固定长度,异构,任意嵌套

对象引用的数组:与列表相似,元组最好看做是对象引用的数组。元组存储指向其他对象的存取点(引用),并且对元组进行索引操作的速度相当较快。

常见元组常量和运算
(,)空元组
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) 
'spam' in T 
[x**2 for x in T] 
T.index('Ni') 
T.count('Ni')计数

sorted/T)得到一个排序好的新的元组,sorted是通用的内置函数,接受任何序列对象。

注意元组的不可变性值适用于元组本身顶层而并非其内容:

>>> T = (1, [2,3], 4)
>>> T[1] = 'spam'
Traceback (most recent call last):
  File "<pyshell#40>", line 1, in <module>
    T[1] = 'spam'
TypeError: 'tuple' object does not support item assignment
>>> T[1][0] = 'spam'
>>> T
(1, ['spam', 3], 4)

为什么有了列表还要元组?

元组的不可变性提供了某种完整性。元组可以确保在程序中不会被另一个引用修改,而列表就没有这种保证。

 

Learning Python, Fourth Edition, by Mark Lutz.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值