1. 程式人生 > >list,tuple,dict和set的主要區別

list,tuple,dict和set的主要區別

1 .list

list是一個使用方括號括起來的有序元素集合;

List 可以作為以 0 下標開始的陣列,任何一個非空 list 的第一個元素總是 L[0],負數索引從 list 的尾部開始向前計數來存取元素。任何一個非空的 list 最後一個元素總是 L[-1];

有分片功能,兩個list可以相加;

append 向 list 的末尾追加單個元素;

insert 將單個元素插入到 list 中; 

extend 用來連線 list,使用一個 list 引數進行呼叫;

append 接受一個引數, 這個引數可以是任何資料型別, 並且簡單地追加到 list 的尾部;

index 在 list 中查詢一個值的首次出現並返回索引值;

要測試一個值是否在 list 內, 使用 in, 如果值存在, 它返回 True, 否則返為 False ;

remove 從 list 中刪除一個值的首次出現;

pop 可以刪除 list 的最後一個元素, 然後返回刪除元素的值,用索引刪除制定位置的值;

2.tuple

tuple是不可變的list,建立了一個tuple就不能以任何方式改變它;

定義tuple是將整個元素集是用小括號括起來,是有序集合;

tuple的索引與list一樣從0開始,所以一個非空的tuple的第一個元素總是t[0];

負數索引與 list 一樣從 tuple 的尾部開始計數;

與 list 一樣分片 (slice) 也可以使用。分割一個 tuple 時, 會得到一個新的 tuple;

沒有 append、extend、remove或pop方法以及index方法;

可以使用in來檢視一個元素是否存在於tuple 中。

3.dict

dict定義了鍵和值之間的一一對應關係,每個元素都是一個key-value對;

整個元素集合用大括號括起來,有序集合;

可以通過 key 得到value, 但不能通過vaule獲取 key;

在一個 dict中不能有重複的 key, 並且 key 是大小寫敏感的;

鍵可以是數字、字串或者是元組等不可變型別;

用del使用key可以刪除dict中的獨立元素; 

用clear可以清除dict中的所有元素。

4.set   因為無序,所以無法索引訪問

set是建立一系列無序的,不重複的元素;

建立set的方式是呼叫set()並傳入一個list,list的元素將作為set的元素;

set和dict的唯一區別僅在於沒有儲存對應的value。