17、Python数据结构:集合、内置类型扩展与队列

Python数据结构:集合、内置类型扩展与队列

1. 集合的特性与用途

集合不仅仅是简单的容器,它的方法表明集合主要用于对其他集合进行操作。当我们有来自两个不同数据源的数据,需要快速合并这些数据,或者确定数据的重叠部分与差异时,集合操作就能高效地完成这些任务。另外,如果新数据中可能包含已处理过的重复数据,我们可以使用集合来比较两者,只处理新数据。

在使用 in 关键字检查元素是否属于容器时,集合比列表更高效。使用 value in container 语法,若容器中有元素等于 value ,则返回 True ,否则返回 False 。在列表中,Python会逐个检查容器中的对象,直到找到该值;而在集合中,Python会对值进行哈希处理,然后检查成员资格。这意味着无论集合大小如何,查找值的时间都是相同的;而列表随着元素增多,查找值的时间会越来越长。

2. 扩展内置类型

当我们想为内置容器对象添加功能时,有两种选择:组合和继承。
- 组合 :如果只是想利用容器的特性来存储对象,组合通常是最佳选择。这样可以方便地将数据结构传递给其他方法,并且这些方法知道如何与之交互。
- 继承 :如果想改变容器的实际工作方式,则需要使用继承。例如,要确保列表中的每个项都是恰好包含五个字符的字符串,我们需要扩展 list 类,并重写 append() 方法,以便在输入无效时抛出异

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值