python中元組與列表的區別

2021-09-24 16:11:05 字數 2627 閱讀 1642

1、都是python中最常用的資料結構

2、都是序列

3、都可以儲存任何資料型別

4、可以通過索引訪問

列表建立使用方括號,而元組建立使用括號()。

>>

>l=

['a'

,'b'

]>>

>t=

('a'

,'b'

)>>

>

print

(type

(l))

<

class

'list'

>

>>

>

print

(type

(t))

<

class

'tuple'

>

列表(list)是動態的,長度並不是固定的,在**中可以隨意的增加,刪除或者修改列表中的元素

元組(tuple)的長度是固定的,一旦生成,無法對其進行增加,刪除或修改操作,因此,若需對元組進行增加操作,可新建立乙個元組,進行連線。

>>

>l=

['a'

,'b'

]>>

'c')

>>

>

print

(l)[

'a',

'b',

'c']

>>

>t=

('a'

,'b'

)>>

'c')

traceback (most recent call last)

: file ""

, line 1,in

attributeerror:

'tuple'

>>

>c=

('c',)

>>

>

print

(t+c)

('a'

,'b'

,'c'

)

列表是可變的,而元組是不可變的,這是兩者之間的關鍵差異。

我們可以修改列表的值,但是不修改元組的值。

>>

>l[1]

='c'

>>

>

print

(l)[

'a',

'c']

>>

>t[1]

='c'

traceback (most recent call last)

: file ""

, line 1,in

typeerror:

'tuple'

object does not support item assignment

由於列表是可變的,我們不能將列表用作字典中的key。 但可以使用元組作為字典key。

在元組初始化階段巢狀進乙個列表,那麼列表性質不會被改變。元組裡的列表正常運作,如果需要某些數值不會改變,某些數值需要改變 ,元組和列表的互相巢狀可以解決問題。

由於元組是不可變的,因此無法進行複製。 如果執行tuple(tuple_name)將返回自己

>>

>copy_l=

list

(l)>>

>

print

(l is copy_l)

false

>>

>copy_t=

tuple

(t)>>

>

print

(t is copy_t)

true

>>

>

print

(copy_t)

('a'

,'b'

)>>

>

print

(copy_l)

['a'

,'c'

]

python將低開銷的較大的塊分配給元組,因為它們是不可變的。 對於列表則分配小記憶體塊。 與列表相比,元組的記憶體更小。 當你擁有大量元素時,元組比列表快。列表的長度是可變的。

>>

>l=

['a'

,'b'

]>>

>t=

('a'

,'b'

)>>

>

print

(l.__sizeof__())

56>>

>

print

(t.__sizeof__())

40

習慣上元組多用於用於儲存異構元素,異構元素即不同資料型別的元素,比如(ip,port)。 另一方面,列表用於儲存同構元素,這些元素屬於相同型別的元素,比如[int1,in2,in3]。

元組通常由不同的資料,而列表是相同型別的資料佇列。元組表示的是結構,而列表表示的是順序。

Python中元組與列表的區別

元組是不可變的,而列表是可變的。可變不可變則體現在了如下 可變型別 列表,字典 增加修改,都不會使id發生變化 不可變型別 數字 字串 元組 即如果賦予新值,他的id會發生變化 元組通常由不同的資料,而列表是相同型別的資料佇列。元組表示的是結構,而列表表示的是順序。舉個例子來講 當你想激勵棋盤上的乙...

Python中元組,列表,字典的區別

list是處理一組有序專案的資料結構,即你可以在乙個列表中儲存乙個序列的專案。列表中的專案。列表中的專案應該包括在方括號中,這樣python就知道你是在指明乙個列表。一旦你建立了乙個列表,你就可以新增,刪除,或者是搜尋列表中的專案。由於你可以增加或刪除專案,我們說列表是可變的資料型別,即這種型別是可...

Python中元組,列表,字典的區別

python中,有3種內建的資料結構 列表 元組和字典。1.列表 list是處理一組有序專案的資料結構,即你可以在乙個列表中儲存乙個序列的專案。列表中的專案。列表中的專案應該包括 在方括號中,這樣python就知道你是在指明乙個列表。一旦你建立了乙個列表,你就可以新增,刪除,或者是搜尋列表中的專案。...