python基础七之集合

  集合:可变的数据类型,他里面的元素必须是不可变的数据类型,无序,不重复。

  增加

set1 = {'zxc', 'zxf'}
set1.add('zxv')  # 无序添加
set1.update('zxv')  # 迭代添加 无序
set1.update({'zxf', 'zxc'})  # 将集合和其他的集合的合集添加给自己
print(set1)

  删除

set1 = {'zxc', 'zxf', 'zxv'}
set1.pop()   # 随机删除 返回删除值
set1.remove()   # 按元素删除,没有则报错
set1.clear()   # 清空集合
del set1  # 删除集合

  查看

set1 = {'zxc', 'zxf', 'zxv'}  # 无序
for i in set1:
    print(i)

  交集

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
print(set1 & set2)
print(set1.intersection(set2))   # {4, 5}

  并集

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
print(set1 | set2)
print(set1.union(set2))    # {1, 2, 3, 4, 5, 6, 7, 8}

  反交集

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
print(set1 ^ set2)
print(set1.symmetric_difference(set2))  # {1, 2, 3, 6, 7, 8}

  独有集

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
print(set1 - set2)
print(set1.difference(set2))  # {1, 2, 3}

  包含关系

  子集

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
# 子集  set1是否是set2的子集
print(set1 < set2)
print(set1.issubset(set2))   # False

  超集

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
# 超集  set2是否是set1的超集
print(set2 > set1)
print(set2.issuperset(set1))  # False

  frozenset

# 冻结 转为冻结的集合,无法删除和添加
s = frozenset('zxc')  # 可迭代对象
print(s)   # frozenset({'x', 'c', 'z'})
原文地址:https://www.cnblogs.com/zxc-Weblog/p/8087057.html