继续学习集合功能。
继续上章的两个爱好,我们怎么取两个人所有的爱好。就是把你和你女朋友的爱好放在一起,然后去重。这叫取并集。
hobbies1 = {'吃饭', '睡觉', '看书', '钢琴', '跳舞', '游泳'}
hobbies2 = {'吃饭', '睡觉', '打游戏', '追剧', '健身'}
print(hobbies1 | hobbies2)
|,这个竖杠是按住回车键上面的那个键加上shift键。
这样你就把两个人的爱好全部放在一个集合里面了,当然,竖杠两边是没有关系的,你可以自己换顺序试试。
接着我们继续看,去差集。就是取某一个人独有的爱好,如果我要拿到你独有的爱好的话,就有前后顺序的区别了。
hobbies1 = {'吃饭', '睡觉', '看书', '钢琴', '跳舞', '游泳'}
hobbies2 = {'吃饭', '睡觉', '打游戏', '追剧', '健身'}
print(hobbies1 - hobbies2)
print(hobbies2 - hobbies1)
爱好1减去爱好2就是表示从爱好1里面减去和爱好2共同的部分,保留爱好1独有的爱好。
爱好2减去爱好1就是表示从爱好2里面减去和爱好1共同的部分,保留爱好2独有的爱好。
打印一下。
这就是取差集。
然后还有一个叫对称差集,就是把两个人独有的爱好都取出来。
hobbies1 = {'吃饭', '睡觉', '看书', '钢琴', '跳舞', '游泳'}
hobbies2 = {'吃饭', '睡觉', '打游戏', '追剧', '健身'}
print((hobbies1 - hobbies2) | (hobbies2 - hobbies1))
不过对称差集还有一种更简单的方式。
hobbies1 = {'吃饭', '睡觉', '看书', '钢琴', '跳舞', '游泳'}
hobbies2 = {'吃饭', '睡觉', '打游戏', '追剧', '健身'}
print(hobbies1 ^ hobbies2)
然后还有最后一个叫父子集。
你也可以了解为集合的比较运算,就是你可以用大于小雨等于来进行比较。这个比较运算就不是和字典列表一样挨个去比大小了。
我现在重新定义两个集合。
s1 = {1, 2, 3}
s2 = {1,2}
我放一张图就很明显什么是父子集了。
大圈是s1,它里面有1,2,3。而s2是小圈,被包含在s1里面。
现在我们打印s1大于s2的话就是True。
s1 = {1, 2, 3}
s2 = {1,2}
print(s1 > s2)
如果我在s2里面加个4的话,就不存在父子集这种关系了,和上面的交集、差集一样了。然后再去打印大于等于小于,就都会是False,因为两者没有任何包含关系。
s1 = {1, 2, 3}
s2 = {1, 2, 4}
print(s1 > s2)
print(s1 < s2)
print(s1 == s2)
未经允许不得转载:445IT之家 » Pytho 集合类型3