set集合是python的一種基本數據類型,其特色爲:python
1.元素不重複(能夠利用這條性質除去重複元素)spa
2.在集合中無序對象
3.元素可hash(int,str,bool,tuple)blog
set集合的表示方法爲:索引
set ={}rem
set.add() #把被添加數據添加到集合的開頭hash
set.update() #把元素迭代無序添加到集合中io
pop()for循環
remove()class
clear()
del set
這裏注意pop()不能指定變量不然會報錯
因爲set集合中的元素沒有索引,所以無法定位set中的元素,所以set集合中的修改只能先刪除 再添加
set是一個可迭代對象,能夠使用for循環查詢
for el in s:
print(el)
s1 = {"劉能", "趙四", "皮長山"}
s2 = {"劉科長", "馮鄉長", "皮長山"}
print(s1 & s2) # {"皮長山"}
或者
print(s1.intersection(s2)) # {"皮長山"}
print(s1 | s2) # {"劉能", "趙四", "皮長山","劉科長", "馮鄉長"}
或者
print(s1.union(s2)) # {"劉能", "趙四", "皮長山","劉科長", "馮鄉長"}
#將被差集合中存在於差集合的元素刪除,即s1刪除s1與s2的交集
print(s1 - s2) # {'趙四', '劉能'}
或者
print(s1.difference(s2)) # {'趙四', '劉能'}
# 刪除兩個集合的交集而後s1與s2並集
print(s1 ^ s2) # {'馮鄉長', '劉能', '劉科長', '趙四'}
或者
print(s1.symmetric_difference(s2)) # {'馮鄉長', '劉能', '劉科長', '趙四'}
#判斷集合s1是不是集合s2的子集
s1 = {"劉能", "趙四"}
s2 = {"劉能", "趙四", "皮長山"}
print(s1 < s2) # True
或者
print(s1.issubset(s2)) # True
#判斷s1是不是s2的超集(是否包含s2)
print(s1 > s2) #False
或者
print(s1.issuperset(s2)) #False
s = frozenset(["趙本山", "劉能", "皮長山", "長跪"])
dic = {s:'123'} # 能夠正常使用了
print(dic) #{ frozenset(["趙本山", "劉能", "皮長山", "長跪"]) : '123'}