Python 数据结构与内置类型扩展深度剖析
1. 集合的特性与应用
集合不仅仅是简单的容器,其方法表明集合旨在对其他集合进行操作。当我们有来自两个不同源的数据,需要快速合并、确定数据重叠或差异时,集合操作能高效地完成比较。若输入的数据可能包含已处理数据的重复项,可使用集合比较两者,仅处理新数据。
在使用 in 关键字检查成员资格时,集合比列表更高效。使用 value in container 语法,若容器中有元素等于 value 则返回 True ,否则返回 False 。列表会遍历容器中的每个对象直到找到该值,而集合会对值进行哈希处理并检查成员资格。这意味着无论容器大小如何,集合查找值的时间相同,而列表随着元素增多,查找值的时间会变长。
2. 扩展内置类型
当我们想为内置容器对象添加功能时,有两种选择:组合和继承。
- 组合 :若只是想利用容器的特性存储对象,组合通常是最佳选择,这样能轻松将数据结构传递给其他方法。
- 继承 :若要改变容器的实际工作方式,则需使用继承。例如,要确保列表中的每个项都是恰好包含五个字符的字符串,需扩展 list 并覆盖 append() 方法,以对无效输入抛出异常。同时,还需至少覆盖 __setitem__ 和 extend() 方法。
实际上
超级会员免费看
订阅专栏 解锁全文
599

被折叠的 条评论
为什么被折叠?



