2021-02-16 python 集合 基本功

在算法中, 集合主要用于去重,这里自己整理一遍。

""" 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()
"""


你可能感兴趣的:(2021-02-16 python 集合 基本功)