python之tuple操作

       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)操作詳解)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章