元組(tuple)和列表的為唯一區別就是列表可以更改,元組不可以更改,其他功能與列表一樣
建立元組的兩種方法
第一種
ages = (11, 22, 33, 44, 55)
第二種
ages = tuple((11, 22, 33, 44, 55))
如果元祖內只有一個元素,那麼需要加上一個逗號,否則就變成字串了。
In [1]: t = (1)In [2]: tOut[2]: 1In [3]: type(t)Out[3]: intIn [4]: t = (1,)In [5]: tOut[5]: (1,)In [6]: type(t)Out[6]: tuple
元組所具備的方法
查看列表中元素出現的次數
count(self, 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)<generator object <genexpr> at 0x102a3e360>>>> T1 = (x * 2 for x in T)>>> T1<generator object <genexpr> at 0x102a3e410>>>> for t in T1: print(t)... 246810
元組嵌套修改
元組的元素是不可更改的,但是元組的元素的元素就可能是可以更改的
>>> tup=("tup",["list",{"name":"ansheng"}])>>> tup('tup', ['list', {'name': 'ansheng'}])>>> tup[1]['list', {'name': 'ansheng'}]>>> tup[1].append("list_a")>>> tup[1]['list', {'name': 'ansheng'}, 'list_a']
元組的元素本身是不可修改的,但是如果元組的元素是個列表或者字典那麼就可以被修改
切片原地修改不可變類型
>>> T = (1,2,3)>>> T = T[:2] + (4,)>>> T(1, 2, 4)