1. 程式人生 > 其它 >#python中元組(tuple)和列表(list)的區別

#python中元組(tuple)和列表(list)的區別

技術標籤:PYTHONpython列表

#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 。