三 集合(set)html
dict是創建了一系列的映射關係,而set是創建一系列無序的,不重複的元素。數組
1建立app
建立set的方式是調用set()並傳入一個list,list的元素將做爲set的元素。測試
>>> S = set([1,2,3])>>> S {1, 2, 3}
重複元素在Set中自動過濾,如:spa
>>> S = set([1,1,2,3,4,5,4])>>> S {1, 2, 3, 4, 5}
2
添加htm
add()添加,有重複元素能夠添加,但不會有效果:
>>> S.add(4)>>> S {1, 2, 3, 4, 5}>>> S.add(9)>>> S {1, 2, 3, 4, 5, 9}
3
刪除對象
>>> S.remove(9)>>> S {1, 2, 3, 4, 5}
4
交集,並集blog
set能夠當作數學意義上的無序和無重複元素的集合,所以,兩個set能夠作數學意義上的交集、並集:索引
>>> S1 = set([1,2])>>> S2 = set([2,3])>>> S1&S2 {2}>>> S1|S2 {1, 2, 3}
set和dict的惟一區別僅在於沒有存儲對應的value,可是,set的原理和dict同樣,因此,一樣不能夠放入可變對象,由於沒法判斷兩個可變對象是否相等,也就沒法保證set內部「不會有重複元素」rem
四 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。
轉載至:(做者:怪人_楊 來源:http://www.cnblogs.com/ybjourney/p/4767726.html)