利用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