集合(set)
集合是无序的,集合中的元素是唯一的
集合的创建
s1 = {"Hello", "world", "china", "world"}
print(s1)
# 输出是无序的,并且去重
# {'world', 'china', 'Hello'}
# 使用列表创建
s2 = set([1, 2, 3, 4])
print(s2)
# 使用元组创建
s3 = set((11, 22, 33, 44))
print(s3)
# 使用range创建
s4 = set(range(10))
print(s4)
运算符及函数
== | 集合相等 | |
!= | 集合不相等 | |
Issuperset | a是否b的超集 | |
Isdisjoint | 2个集合是否有交集 | |
&或者intersection | 取交集 | 得到相同的元素 |
|或者union | 取并集 | 得到全部集合中全部的元素 |
difference | 差集 | 属于a但不属于b的元素 |
symmetric_difference | 对称差集 | 只在a和只在b中的元素集合 |
max() | 最大值 | |
min() | 最小值 |
示例
sa = {11, 22, 33, 44}
sb = {111, 222, 333, 444, 33}
sc = {11, 22, 33, 44}
# 比较,结果为True
print(sa == sc)
# 取最大值,结果为44
print(max(sa))
# 取最小值,结果为11
print(min(sa))
# 是否无交集,结果为False
print(sa.isdisjoint(sb))
# 差集,结果为{11,22,44},因为33是共有的
print(sa.difference(sb))
# 交集,结果为{33}
print(sa & sb)