1 集合的使用
首先集合元素不能重复 且集合元素是无序的
s={2,3,4,44,5,5,6,77,77}
print(s,type(s))
#{2, 3, 4, 5, 6, 44, 77} <class 'set'>
2 集合的相关操作
s={1,23,43,54,666}
'''集合元素的判断操作'''
print(1 in s)
print(44 in s)
print(23 not in s)
'''集合元素的新增操作'''
s.add(78)
print(s)
s.update({12,323,43434}) # 一次添加一个新的集合
print(s)
'''集合元素的删除操作'''
s.remove(12)
print(s)
s.discard(666)
print(s)
# pop 随机删除元素
s.pop()
print(s)
# clear 清空集合
s.clear()
print(s)
输出结果为:
True
False
False
{1, 54, 23, 666, 43, 78}
{1, 323, 43434, 43, 12, 78, 54, 23, 666}
{1, 323, 43434, 43, 78, 54, 23, 666}
{1, 323, 43434, 43, 78, 54, 23}
{323, 43434, 43, 78, 54, 23}
set()
3 集合之间的关系
a={10,23,44}
a2={23,44,10}
print(a==a2) # True
print(a!=a2) # False
'''判断一个集合是另一个集合的子集'''
s1={10,20,30,40,50,60}
s2={10,20,30,40}
s3={10,20,90}
print(s2.issubset(s1)) # True
print(s3.issubset(s1)) # False
'''一个集合是否是另一个集合的超集'''
print(s1.issuperset(s2)) #True
print(s2.issuperset(s3)) #False
'''两个集合是否有交集'''
print(s2.isdisjoint(s3)) #False
4 集合的数学操作
#交集
s={10,20,30,40}
s1={20,30,40,50,60}
print(s1.intersection(s1))
print(s1 & s1) #两者等价 intersection=&
'''{50, 20, 40, 60, 30}
{50, 20, 40, 60, 30}'''
#并集操作
print(s.union(s1))
print(s | s1)
# 差集操作
print(s.difference(s1))
print(s-s1)
#{10}
#{10}
# 对称差集
print(s.symmetric_difference(s1))
#{50, 10, 60}
5 集合的生成式
# 列表的生成式
lst=[ i*i for i in range(10)]
print(lst)
#[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
# 集合的生成式
a={i*i for i in range(10)}
print(a)
#{0, 1, 64, 4, 36, 9, 16, 49, 81, 25}
6