利用set中元素不可重複,可給list去重spa
lst = [11, 11, 22, 22, 33, 33, 44, 44, 55, 55] lst = list(set(lst)) print(lst) # [33, 11, 44, 22, 55] 結果無序,但已去重
重複的內容不會被添加到set集合中,新增對象須爲可hash數據類型code
s = {11, 22, 33, 44} s.add("hello") print(add) # {33, 11, 44, 'hello', 22} s.add(11) print(s) # {33, 11, 44, 'hello', 22}
迭代更新,新增對象可爲可hash或不可hash數據類型對象
s = {11, 22, 33, 44} s.update("hello") print(s) # {33, 'l', 11, 44, 'e', 22, 'o', 'h'}
s = {11, 22, 33, 44} s.update([55, 66, 77]) print(s) # {33, 66, 11, 44, 77, 22, 55}
隨機彈出一個blog
s = {11, 22, 33, 44} num = s.pop() print(s) # {11, 44, 22} print(num) # 33
根據元素內容進行刪除,若元素不存在,則報錯索引
s = {11, 22, 33, 44} s.remove(11) print(s) # {33, 44, 22}
清空set集合,若是set集合是空的,打印出來是set(),須與dict區分rem
s = {11, 22, 33, 44} s.clear() print(s) # set()
s = {11, 22, 33, 44} s.remove(11) s.add(55) print(s) # {33, 44, 22, 55}
set是一個可迭代對象,可進行for循環hash
for el in s: print(el)
s1 = {11, 22, 33, 44} s2 = {33, 44, 55} print(s1 & s2) # {33, 44}
s1 = {11, 22, 33, 44} s2 = {33, 44, 55} print(s1.intersection(s2)) # {33, 44}
s1 = {11, 22, 33, 44} s2 = {33, 44, 55} print(s1 | s2) # {33, 22, 55, 11, 44}
s1 = {11, 22, 33, 44} s2 = {33, 44, 55} print(s1.union(s2)) # {33, 22, 55, 11, 44}
s1 - s2:獲得s1中單獨存在的io
s1 = {11, 22, 33, 44} s2 = {33, 44, 55} print(s1 - s2) # {11, 22}
s1 = {11, 22, 33, 44} s2 = {33, 44, 55} print(s1.difference(s2)) # {11, 22}
s1 ^ s2:獲得一個新的集合,裏面元素爲兩集合(s1, s2)不相同的元素for循環
s1 = {11, 22, 33, 44} s2 = {33, 44, 55} print(s1 ^ s2) # {22, 55, 11}
s1 = {11, 22, 33, 44} s2 = {33, 44, 55} print(s1.symmetric_difference(s2)) # {22, 55, 11}
s1 < s2:判斷s1是否爲s2子集,返回True or Falseclass
s1 = {11, 22, 33, 44} s2 = {33, 44, 55} print(s1 < s2) # False
s1 = {11, 22, 33, 44} s2 = {11, 22, 33, 44, 55} print(s1.issubset(s2)) # True
s1 > s2:判斷s1是否爲s2的超集,也即s2是否爲s1的子集,返回True or False
s1 = {11, 22, 33, 44} s2 = {11, 22, 33} print(s1 > s2) # True
s1 = {11, 22, 33, 44} s2 = {11, 22, 33} print(s1.issuperset(s2)) # True
s = [44, 55, 66] s1 = {11, 22, 33, s} # 報錯 TypeError: unhashable type: 'list'
s = frozenset([44, 55, 66])
print(s) # frozenset({66, 44, 55}) s1 = {11, 22, 33, s} # 正常
s = frozenset([1,2,3,4,5]) print(s) # frozenset({1, 2, 3, 4, 5}) for el in s: print(el) # 1 2 3 4 5