#python中元組(tuple)和列表(list)的區別
阿新 • • 發佈:2021-02-16
#python中元組(tuple)和列表(list)的區別
它們的寫法和用法都十分相似,傻傻分不清楚。有以下幾種說法:
list 是可變的物件,元組 tuple 是不可變的物件!
由於 tuple 不可變,所以使用 tuple 可以使程式碼更安全!等等 …
下面我們來分析list和python的區別
一、List列表
list是一種有序的集合,可以隨時新增和刪除其中的元素
列出陣列num中的所有元素:
對LIST的操作有:
#:列印陣列列表: print(list); #:比較兩個列表的元素 #print(cmp(list1,list2)) #列表元素個數 print(len(list)) print(max(list2)) print(min(list2)) #將元組轉換為列表 print(list3) #列表操作包含以下方法: #在列表末尾新增新的物件 list.append('000000000') print(list) #統計某個元素在列表中出現的次數 list.count(0) #在列表末尾一次性追加另一個序列中的多個值(用新列表擴充套件原來的列表) list.extend(seq) #從列表中找出某個值第一個匹配項的索引位置 list.index(obj) #:將物件插入列表 list.insert(index, obj) #:移除列表中的一個元素(預設最後一個元素),並且返回該元素的值 list.pop(obj=list[-1]) #:移除列表中某個值的第一個匹配項 list.remove(obj) #反向列表中元素 list.reverse() #:對原列表進行排序 list.sort([func])
二、tuple元組
tuple是一種有序列表,它和list非常相似,但是(但是前面的話也不都是廢話);
tuple一旦初始化就不能修改,而且沒有append() insert()這些方法,可以獲取元素但不能賦值變成另外的元素。
如果建立一個空元組,直接使用小括號即可;
如果要建立的元組中只有一個元素,要在它的後面加上一個逗號‘,’。
操作:
# 將列表轉化為元組:tuple()函式
tuple(LIST1)
三、tuple和list之間的差異
tuple是靜態的固定大小的,而list是動態分配儲存空間,自動擴容的。
同樣的元素,list要儲存指向元素的指標與要儲存當前長度大小,所以要比tuple佔更多的儲存空間。例:
四、總結
相對於 list 而言,tuple 內的元素是不可變的。
tuple 沒有對元素的增刪(記憶體結構設計上變的更精簡),換取的是效能上的提升:**建立 tuple 比 list 要快,儲存空間比 list 佔用更小。**所以就出現了“能用 tuple 的地方就不用 list”的說法。
tip:用 Tuple 的好處
Tuple 比 list 操作速度快。如果您定義了一個值的常量集,並且唯一要用它做的是不斷地遍歷它,請使用 tuple 代替 list。
如果對不需要修改的資料進行 “防寫”,可以使程式碼更安全。使用 tuple 而不是 list 。