Python的元組與列表類似,不同之處在於元組的元素不能修改,元組使用小括號,列表使用方括號,元組創建很簡單,只需要在括號中添加元素,並使用逗號隔開即可。
lst=['physics','chemistry',1997,2000]
tup=(1,2,3,4,5,6,"hhaha","lalla")
元組與list之間的性質很多相似,如索引/切片等,
》索引切片操作
tuple和list的操作一樣,可以通過下標進行索引,[-1]表示最後一個元素。[1:3]表示下標從1到2,但不包括3.
》元組或list之間可以使用+和*,即允許進行組合連接和重複複製,運算後會生成一個新的元組或列表
tup=(1,2,3)
lst=(3,4,5)
lst=lst+lst #輸出:lst=[3,4,5,3,4,5]
tup=tup*3 #輸出: tup=(1,2,3,1,2,3,1,2,3)
但相對而言,tuple也具有一些自己特有的性質,具體如下,
》元組中的元素值使不允許修改的,但可以對元組進行連接組合
tup1=(12,34.56)
tup2=('abc','xyz')
tup1[0]=100 #非法操作,元組中的元素是不允許被修改的
tup3=tup1+tup2 #python運行元組進行連接組合
print(tup3)# 輸出:(12,34.56,'abc','xyz')
有時會碰到這種情況,
tmp=(2,3,["x","y"])
tmp[2][0]="a"
這種形似修改了tuple的值,其實只是改變了tmp[2]指向內存塊裏的內容,並沒有改變tmp[2]的指向,詳情可參考https://www.jb51.net/article/47986.htm。
同時在元組中的元素是不允許刪除的,但可以使用del語句來刪除整個元組,如
tmp=(2,3,4)
del tmp
》元組的方法(元組沒有列表中的增、刪、改的操作,只有查的操作,以及元組間的一些操作)
——tuple.index(obj):從元組中找出某個值第一個匹配項的索引值
——tuple.count(obj): 統計某個元素在元組中出現的次數
——cmp(tup1,tup2): 比較兩個元組元素
——len(tup): 返回元組中元素的個數
——max(tup): 返回元組中元素最大的值
——min(tup): 返回元組中元素最小的值
——tuple(seq): 將列表轉化爲元組
補:
- 任意無符號的對象,以逗號隔開,默認爲元組
a=1,2,3,'hello'
print(a) #輸出:(1,2,3,'hello')
- 元組中只包含一個元素時,需要在元素後面添加逗號來消除歧義
tmp=(3,)
因爲括號()既可以表示tuple,又可以表示數學公式中的小括號,添加逗號是爲了和(3)區分開來。
參考鏈接:
https://www.jb51.net/article/47986.htm(Python 元組(Tuple)操作詳解)