元组(tuple)和列表的为唯一区别就是列表可以更改,元组不可以更改,其他功能与列表一样
创建元组的两种方法
第一种
ages = (11, 22, 33, 44, 55)
第二种
ages = tuple((11, 22, 33, 44, 55))
如果元祖内只有一个元素,那么需要加上一个逗号,否则就变成字符串了。
In [1]: t = (1) In [2]: t Out[2]: 1 In [3]: type(t) Out[3]: int In [4]: t = (1,) In [5]: t Out[5]: (1,) In [6]: type(t) Out[6]: tuple
元组所具备的方法
查看列表中元素出现的次数
count(self, value):
属性 | 描述 |
---|---|
value | 元素的值 |
>>> ages = tuple((11, 22, 33, 44, 55)) >>> ages (11, 22, 33, 44, 55) >>> ages.count(11) 1
查找元素在元组中的位置
index(self, value, start=None, stop=None):
属性 | 描述 |
---|---|
value | 元素的值 |
start | 开始的位置 |
stop | 结束的位置 |
>>> ages = tuple((11, 22, 33, 44, 55)) >>> ages.index(11) 0 >>> ages.index(44) 3
列表嵌套
>>> T = (1,2,3,4,5) >>> (x * 2 for x in T) at 0x102a3e360> >>> T1 = (x * 2 for x in T) >>> T1 at 0x102a3e410> >>> for t in T1: print(t) ... 2 4 6 8 10
元组嵌套修改
元组的元素是不可更改的,但是元组的元素的元素就可能是可以更改的
>>> tup=("tup",["list",{ "name":"Guniao"}]) >>> tup ('tup', ['list', { 'name': 'Guniao'}]) >>> tup[1] ['list', { 'name': 'Guniao'}] >>> tup[1].append("list_a") >>> tup[1] ['list', { 'name': 'Guniao'}, 'list_a']
元组的元素本身是不可修改的,但是如果元组的元素是个列表或者字典那么就可以被修改
切片原地修改不可变类型
>>> T = (1,2,3) >>> T = T[:2] + (4,) >>> T (1, 2, 4)