
博客地址:http://www.cnblogs.com/yudanqu/
首先,簡單介紹一下set,set就是我們中學時所學的集合,當時集合的性質就包括一點,集合里不能有重復的數字。我們現在所用到的集合更為廣泛,里面可以存放字符等等。
- set:類似於dict,是一組key的集合,不存儲value
- 本質:無序和無重復元素的集合
或許我說他類似於dict,對於剛入門的同學來說不太理解,這怎么會類似呢?給大家看一下:

有沒有發現點什么,字典(dict)和集合(set)都是用大括號來表示,這就是他的本質所在,那么先往下看。
1、創建
(1)創建set需要一個list或者tuple或者dict作為輸入集合
(2)其中重復元素在set中會自動過濾
2、添加
s為一個集合,向其中添加元素:
- s.add(6) # 向其中添加數字6,若添加重復則沒有效果
- s.add([7,8,9]) # 報錯,因為列表不能作為key,list和dict是可變對象
- # 元組可以作為添加的對象,因為元組是不可變對象
- s.update() # 可以將列表元組等拆分開打碎存入set,包括字符串,也會被拆開存入集合
3、刪除
- s.remove() # 參數為里面的元素,不能通過下標刪除,因為本身無序,沒有索引
- set沒有索引,但可以遍歷輸出
- 也可以通過 for index,data in enumeration(s),這樣看似是有索引的,但是也不是本身有效的
4、交集
1 a1 = s1 & s2 # 求交集並輸出新的set
5、並集
1 a2 = s1 | s2 # 求並集返回新的set
*set本身不常用,但可以利用他的類型轉換,利用其無重復的特性
作者:漁單渠(yudanqu)
