前言
提到元组,大家可能就会想到list(列表),我们也会第一时间想到tuple不可变,list可变,这也是他们两者之间最大的一个区别。下面是我总结的关于元组的特性:
0x01
元组是任意对象的一个序列,所以这里也就有一个问题需要注意,那就是元组的不可变仅仅是指元组本身顶层而并非其内容,例如:
如上所述,我们想要修改tuple中的某一个元素,把它改变为其它的值是不行的。但是我们想要修改这个元素内部的值是没有问题的,例如:
0x02
元组不可变,那么对它直接进行排序操作也就是不可行的了,一般对元组进行排序有两种方法:
A.转换为list,排序后再转回tuple
a = (4,3,2,6) b = list(a) b.sort()
a = tuple(b)
1234
B.用内建方法sorted,该方法会直接将tuple转为排序后的list
sorted(a)
0x03
创建只包含单个元素的元组的时候,需要在元素后面加上逗号,否则不是元组而是对应的值:
0x04
元组一般用于表示特定的结构,比如说一个坐标,而列表通常是表示一个有序的序列,这是他们用法的区别。 元组常用方法:
T.index()
T.count() 以及序列的基本运算,索引,切片,合并,重复,嵌套.....