元組和列表有很多相似之處,對於操作一樣的地方,會簡寫一些。
<1.簡介
表現形式 :tuple。元組是乙個不可變序列,當我們希望資料不變時我們就使用元組,其他情況一般使用列表。
<2.元祖的建立
方法一:建立空元組。
tupl=()
print(tupl)
方法二:
tupl=tuple('342ff')
print(tupl)
方法三:直接輸入元素,用逗號隔開即可。
tupl=23,'34','2',34
print(tupl)
<3.元組的解包
1)概念:指將元組的每乙個元素都賦值給乙個變數。
2)元組解包操作:如果元組裡元素的數量和賦值變數的數量不一致,則會報錯,解決方法見<4.
tulp=1,2
a,b=tulp
print('a =',a,'b =',b)
3)交換解包操作:python交換變數無需借助第三變數。
tulp=1,2
a,b=tulp
print('a =',a,'b =',b)
b,a=a,b
print('a =',a,'b =',b)
<4.元組中*操作
1)如果元組裡元素的數量過多,我們只需要其中的開頭的部分元素,可以使用*,*變數中的所有元素都存到乙個列表中,方法如下:
tulp=1,2,3,4,5,6,7,8,9,0
a,b,*c=tulp
print('a =',a,'b =',b,'c=',c)
輸出結果為a = 1 b = 2 c= [3, 4, 5, 6, 7, 8, 9, 0]
2)如果元組裡元素的數量過多,我們只需要其中的尾部的部分元素,操作如下:
tulp=1,2,3,4,5,6,7,8,9,0
*a,b,c=tulp
print('a =',a,'b =',b,'c=',c)
輸出結果為a = [1, 2, 3, 4, 5, 6, 7, 8] b = 9 c= 0
3)如果元組裡元素的數量過多,我們只需要其中的中間的部分元素,操作如下(輸出結果略):
tulp=1,2,3,4,5,6,7,8,9,0
a,*b,c=tulp
print('a =',a,'b =',b,'c=',c)
*b為列表,根據列表的索引
注意:*變數在同一賦值中只能使用一次,多個程式會報錯。
4)元組注意
無法通過索引取值,無法通過索引賦值變數,無法更改變數。
<5.可變物件
觀察對比下面的**:
a=[1,2,3]
print(id(a))
a[0]=4
a[1]=5
a[2]=6
print(id(a))
a=[1,2,3]
print(id(a))
a=[4,5,6]
print(id(a))
第二個**是重新定義來乙個變數,改變了位址。兩個**的值一樣,但是第乙個**前後是乙個物件,第二個**則不同。
5)==和is
==比較的是物件的值是否相等,is或者is not比較的是物件的位址是否相等(是否是同乙個物件),返回乙個bool值。
a=12
b=12
print(id(a) ,id(b))
print(a==b)
a和b是同乙個物件且值相同。
a=12,2
b=12,2
print(id(a) ,id(b))
print(a==b)
a和b不是乙個物件,但是值相同。
print(id(a) ,id(b))可以寫成print(a is b)直接判斷是不是乙個物件。
Python之資料結構 元組
元組與列表的最大區別是列表可以修改 可以讀取 可以刪除,而元組建立之後則不能修改,但是可以刪除整個元組。1 定義元組 l1 1,2,3 print l1 print type l1 執行結果 如果元組只有乙個元素,則這個元素後面必須要有 否則元素就還是其原來的型別。l1 1,2,3 print l1...
資料結構 七 之集合結構
幾乎每種程式語言中,都有集合結構.集合比較常見的實現方式時雜湊表 後續會學習 我們這裡來實現乙個封裝的集合類.我們先來簡單認識一下集合的特點.集合的特點 看成一種特殊的陣列 集合的實現 像前面封裝其他資料型別一樣,我們也來封裝一下集合類 set類 建立集合類 操作的方法 我們來乙個個實現這些方法,相...
Python基礎資料結構之元組 tuple
有序的儲存任何資料型別,元祖和列表類似,不同之處在於元祖不能修改。元祖是不可變資料型別。相同點 都可以儲存任意資料型別的資料 都是有序的資料型別 支援下表索引和切片 都可以使用for while迴圈遍歷 不同點 列表是可變資料型別 增 刪 改 查 元祖是不可變資料型別 查 列表用定義,元祖用 定義 ...