2021-02-16 python 集合 基本功
2021-02-16 本文已影响0人
fanchuang
在算法中, 集合主要用于去重,这里自己整理一遍。
""" 1. 集合 关系运算 """
x = {1, 2, 3, 4}
y = {3, 4, 5, 6}
# 1. 交集 x & y
print(x & y) # {3, 4}
# 2. 并集 x | y
print(x | y) # {1, 2, 3, 4, 5, 6}
# 3. 差集 x - y, 在x里面,但是不在y里面的, 即x独有的元素。
print(x - y) # {1, 2}
# 4. 对称差集 两者各自独有的合在一起。
print(x ^ y) # {1, 2, 5, 6}
print()
""" 2. 集合的 比较运算 """
# 一句话,记好了。2个集合可以当做2个数来比较。
# 这些操作都是可以的。 >, <, ==, !=, >=, <=
if {1, 2, 3} > {1, 2}:
print("ok") # ok
""" 3. 集合的 其他运算 """
# 内置函数:len(), max(), min(), sum(), 对于集合同样可以用的。
print(sum({1, 4, 6})) # 11
""" 4. 集合的 其他内置方法 总共17个,此处有省略。
s.clear() # 清空
s.copy() # 复制
s.pop() # 随机移除元素
s.update() # 可以添加新的元素,或者是新的集合,会自动去除重复。建议使用。
s. remove() # 删除一个元素, 如果x不存在,报错。
s.discard(x) # 删除一个元素, 如果x不存在,也不会报错的。建议使用。
# 以下的部分不必记了,只需要看最上面的运算符号即可。
s.difference() # 返回多个集合的差集 等价于 x - y, 此时返回的是一个新的集合
s.difference_update() # 直接修改原来的集合,没有返回值
s.intersection() # 等价于 x & y
s.intersection_update() # 与上面的同理
s.isdisjoint() # 判断2者是否各自独立。返回 bool
s.union() # # 等价于 x | y
s.issubset()
s.issuperset()
"""