set()集合的概念與通常操做

1.概念

set集合是python的一種基本數據類型,其特色爲:python

1.元素不重複(能夠利用這條性質除去重複元素)spa

2.在集合中無序對象

3.元素可hash(int,str,bool,tuple)blog

set集合的表示方法爲:索引

set ={}rem

2.通常操做

1.增長

set.add() #把被添加數據添加到集合的開頭hash

set.update() #把元素迭代無序添加到集合中io

2.刪除

pop()for循環

remove()class

clear()

del set

這裏注意pop()不能指定變量不然會報錯

3.修改

因爲set集合中的元素沒有索引,所以無法定位set中的元素,所以set集合中的修改只能先刪除 再添加

4.查詢

set是一個可迭代對象,能夠使用for循環查詢

for el in s:

print(el)

5.其餘操做

s1 = {"劉能", "趙四", "皮長山"}

s2 = {"劉科長", "馮鄉長", "皮長山"}

1.交集 s1 & s2

print(s1 & s2) # {"皮長山"}

或者

print(s1.intersection(s2)) # {"皮長山"}

2.並集 s1 | s2 (無序)

print(s1 | s2) # {"劉能", "趙四", "皮長山","劉科長", "馮鄉長"}

或者

print(s1.union(s2)) # {"劉能", "趙四", "皮長山","劉科長", "馮鄉長"}

3.差集 s1 - s2

#將被差集合中存在於差集合的元素刪除,即s1刪除s1與s2的交集

print(s1 - s2) # {'趙四', '劉能'}

或者

print(s1.difference(s2)) # {'趙四', '劉能'}

4.反交集 s1 ^ s2

# 刪除兩個集合的交集而後s1與s2並集

print(s1 ^ s2) # {'馮鄉長', '劉能', '劉科長', '趙四'}

或者

print(s1.symmetric_difference(s2)) # {'馮鄉長', '劉能', '劉科長', '趙四'}

5.子集 s1 < s2

#判斷集合s1是不是集合s2的子集

s1 = {"劉能", "趙四"}

s2 = {"劉能", "趙四", "皮長山"}

print(s1 < s2) # True

或者

print(s1.issubset(s2)) # True

6.超集 s1 > s2

#判斷s1是不是s2的超集(是否包含s2)

print(s1 > s2) #False

或者

print(s1.issuperset(s2)) #False

7.使set集合變成一個可hash的

s = frozenset(["趙本山", "劉能", "皮長山", "長跪"])

dic = {s:'123'} # 能夠正常使用了

print(dic) #{ frozenset(["趙本山", "劉能", "皮長山", "長跪"]) : '123'}

相關文章
相關標籤/搜索