Pytho 集合类型3

继续学习集合功能。

继续上章的两个爱好,我们怎么取两个人所有的爱好。就是把你和你女朋友的爱好放在一起,然后去重。这叫取并集。

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

赞 (0) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏