Python基础之集合间的关系以及生成式
1. 集合间的关系
可以使用运算符==或者!=进行判断
1. 可以调用方法issubset进行判断
2. B是A的子集
1. 可以调用方法issuperset进行判断
2. A是B的超集
- 两个集合是否含有交集: (没有交集为True,有交集为False)
可以调用方法isdisjoint
示例演示:
s={10,20,30,40}
s2={10,20,40,30}
print('--------------两个集合是否相等---------------------')
print('s相等s2: ',s==s2)
print('s不等于s2',s!=s2)
执行结果:
print('--------------两个集合是否相等---------------------')
s相等s2: True
s不等于s2 False
s={10,20,30,40,50,60}
s2={10,20,30}
s3={10,70}
print('s2是s的子集吗: ',s2.issubset(s))
print('s3是s的子集吗: ',s3.issubset(s))
执行结果:
--------------一个集合是否是另一个集合的子集---------------------
s2是s的子集吗: True
s3是s的子集吗: False
s={10,20,30,40,50,60}
s2={10,20,30}
s3={10,70}
print('s是s2的超集吗: ',s.issuperset(s2))
print('s是s3的超集吗: ',s.issuperset(s3))
执行结果:
--------------一个集合是否是另一个集合的超集---------------------
s是s2的超集吗: True
s是s3的超集吗: False
- 两个集合是否含有交集, 没有交集为True, 有交集为False
s={10,20,30,40,50,60}
s2={10,20,30}
s3={10,70}
s4={100,200}
print('s和s2有交集吗?: ',s.isdisjoint(s2))
print('s和s3有交集吗?: ',s.isdisjoint(s3))
print('s和s4有交集吗?: ',s.isdisjoint(s4))
执行结果:
s和s2有交集吗?: False
s和s3有交集吗?: False
s和s4有交集吗?: Tru
集合的生成式
{i*i for i in range(1,10)}
将{}修改为[]就是列表的生成式
没有元组生成式
示例演示
s={i*i for i in range(1,10)}
print(s,type(s))
执行结果:
{64, 1, 4, 36, 9, 16, 49, 81, 25} <class 'set'>