七 資料結構之元組

2021-09-28 16:13:38 字數 2066 閱讀 3974

元組和列表有很多相似之處,對於操作一樣的地方,會簡寫一些。

<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迴圈遍歷 不同點 列表是可變資料型別 增 刪 改 查 元祖是不可變資料型別 查 列表用定義,元祖用 定義 ...