(一)初識set
dict的作用是建立一組 key 和一組 value 的映射關系,dict的key是不能重復的。有的時候,我們只想要 dict 的 key,不關心 key 對應的 value,目的就是保證這個集合的元素不會重復,這時,set就派上用場了。(即set值不會重復)set 持有一系列元素,這一點和 list 很像,但是set的元素沒有重復,而且是無序的,這點和 dict 的 key很像。創建 set 的方式是調用 set() 並傳入一個 list,list的元素將作為set的元素:s = set(['a' , 'b' , 'c']).
因為set的值不會重復所以當我們傳入重復的值的時候就會把重復值刪掉例: s = set(['a' , 'b' , 'c' , 'c'])打印出來之后是 ['a','b','c']。而且len(s) = 3而不是4.
(二)set取值
由於set是無序的所以不能通過索引的方式獲取set值。訪問set值就是判斷set中是否存在該值.注:set區分大小寫
例: s = set(['a' , 'b' , 'c'])
('b' in s) 為True
(三)set的特點
set的內部結構和dict很像,唯一區別是不存儲value,因此,判斷一個元素是否在set中速度很快。set存儲的元素和dict的key類似,必須是不變對象,因此,任何可變對象是不能放入set中的。最后,set存儲的元素也是沒有順序的。
(四)遍歷set
set也是集合,所以可以用for遍歷
s = set(['a' , 'b' , 'c'])
for key in set:
print(key)
(五)set賦值
由於set存儲的是一組不重復的無序元素,因此,更新set主要做兩件事:一是把新的元素添加到set中,二是把已有元素從set中刪除。
添加元素時,用set的add()方法:
s = set([1 ,2 ,3 ,4])
s.add(5)
print(s) ======> [1,2,3,4,5]
如果set中已存在值(例5),則值不會被添加到set中
刪除值:用remove()方法
例;
s = set([1,2,3])
s.remove(e)
print (s) ======> [1,2]
如果remove的值不存在於set中時會報錯
