数据结构之set类

set类

set 是集合类。这个类很特别,它是唯一坚决追求“特立独行”的数据类型。在这里,你没办法找到两个一样的值,即使强硬赋予,它也会强硬剔除,也就是去重,一个非常实用的技能,这也是 set 类存在的最大意义。

set 类还是无序的,不像列表和元组那般可以下标指定,同时,set 类的元素需要是不可变类型,就和字典的键一样。

1.set的賦値

在这里插入图片描述

输出结果

在这里插入图片描述
我们发现,两个0不见了一个,确实去重了,而且输出结果是无序的。但还有一个问题:False 怎么也不见了?它去哪了?

注意

之前讲过,True1,Flase0,在set类中也是如此。当集合里的元素同时存在1和True时会去重;同时存在0和False时也会去重。例如:
在这里插入图片描述

输出结果

在这里插入图片描述

2. Python中set的知识点

由于 set 类与dict 类一样也使用大括号作为标识符,所以当我们创建一个空集合时必须用 set()而不是{},因为{}用于创建一个空字典。
在这里插入图片描述

输出结果

在这里插入图片描述

注意

update()的参数必须为元组类型,否则会变成一个个字母。

set 的关系运算

这里还有必要强调一下 set 的关系运算—交、并、差、补。
假设现在某地出现了严重流感,政府需要统计接触过流感患者的人(contacted_test)和去过流感重灾区的人(visited_test)的各种组合数据:
在这里插入图片描述

输出结果

在这里插入图片描述

我们发现,多元组相加去重之后,也能实现并集的功能,例如:

在这里插入图片描述
输出结果
在这里插入图片描述

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

忆梦九洲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值