python中关于set总结

90 阅读1分钟

set集合用{}表示,是无序的

set中放置的数据必须都是可hash的类型,例如int、str、tuple、bool

# 例如不可以放置[]
s = {1, 2, 3, []}

如何创建一个空集合

s = set()

set的操作

#新增
s = set()
s.add("詹姆斯")
s.add("杜兰特")
s.add("库里")

#删除
s.pop() #由于集合无序,测试无法验证是最后一个
s.remove("詹姆斯") #用的比较多

#修改,修改一般都是先删除,再新增
s.remove("库里")
s.add("汤普森")

# 查询,通过for循环
for item in s:
    print(item)

# 交集
s1 = {"詹姆斯", "杜兰特", "乔丹"}
s2 = {"库里", "汤普森", "乔丹"}
print(s1 & s2)
print(s1.intersection(s2))

#并集
print(s1 | s2)
print(s1.union(s2))

#差集
print(s1 - s2)
print(s1.difference(s2))

比较重要的作用:去除重复

s1 = {"詹姆斯", "杜兰特", "库里"}
s1.add("詹姆斯") #无法再塞入一个相同的元素

#去除列表的重复的话,只需要包装一个set()即可
lst = ["詹姆斯", "杜兰特", "库里", "詹姆斯", "杜兰特", "库里"]
print(set(lst))
# 但是需要注意的是,去除重复之后是无序的