最近把python的基礎語法複習一下,發現tuple這個比較特殊,有幾點需要注意下
1.tuple的每個元素值不能改變,如:
>>> a=(1,2)
>>> a[0]=3;
traceback (most recent call last):
file "", line 1, in typeerror: 'tuple' object does not support item assignment
>>>
2.tuple的元素是list的時候,tuple是管不著list的,tuple只管每個元素的值不改變
>>> b=[1,2]
>>> a=(b,3)
>>> id(b)
4454662368
>>> id(a)
4454507512
>>> id(a[0])
4454662368
如上,當我再修改b的時候,a裡面看到的是修改後的值
>>> b[0]=8
>>> a
([8, 2], 3)
但是我給b重新複製的話,b已經是指向了新的位址
>>> b=[4,5]
>>> id(b)
4454500256
>>> id(a[0])
4454662368
>>> a
([8, 2], 3)
對b的修改當然不會影響到a。
3.tuple可以用作dict的key,因為它是不可變的。但是tuple作為dict的key時有個限制——tuple的元素是可以雜湊的。
一般是這樣用的:
>>> c=(4,6)
>>> d=
但是你不能這樣用:
>>> l=[5,4]
>>> c=('dfdf',l)
>>> d=
traceback (most recent call last):
file "", line 1, in typeerror: unhashable type: 'list'
python 複習之元組tuple
什麼是元組 元組是不可變的序列,和list一樣可以存放任意型別的元素。字面值的表示方法 用小括號 括起來,單個元素括起來後加逗號 區分單個物件還是元組 t1 t2 1,2,3 t3 2,print type t1 type t2 type t3 元組的建構函式 tuple 生成乙個空元祖,等同於 t...
Python學習筆記(七) tuple元組
元組和列表十分類似,只不過元組和字串一樣是 不可變的。含有0個或1個專案的元組。乙個空的元組由一對空的圓括號組成,如myempty 然而,含有單個元素的元組就不那麼簡單了。你必須在第乙個 唯一乙個 專案後跟乙個逗號,這樣python才能區分元組和表示式中乙個帶圓括號的物件。即如果你想要的是乙個包含專...
Python筆記 List和Tuple型別
python內建的一種資料型別是列表 list。list是一種有序的集合,是按照順序排列的,可以隨時新增和刪除其中的元素。l michael 100,true print l michael 100,true 要列印第n名同學的名字,用 l n 1 例 列印滴3名學生資訊 l adam lisa b...