《Python 核心技术与实战》 学习笔记 Day04 字典、集合,你真的了解吗?

字典和集合基础

  • 相比于列表和元组,字典的性能更优,特别是对于查找、添加和删除操作,字 典都能在常数时间复杂度内完成。
  • 而集合和字典基本相同,唯一的区别,就是集合没有键和值的配对,是一系列无序的、唯一的元素组合。
  • 集合并不支持索引操作,因为集合本质上是一个哈希表,和列表不一样。

字典和集合性能

  • 字典和集合是进行过性能高度优化的数据结构,特别是对于查找、添加和删除操作。
  • 由于集合是高度优化的哈希表,里面元素不能重复,并且其添加和查找操作只需 O(1) 的复杂度,那么,总的时间复杂度就只有 O(n)。

字典和集合的工作原理

不同于其他数据结构,字典和集合的内部结构都是一张哈希表。

  • 对于字典而言,这张表存储了哈希值(hash)、键和值这 3 个元素。
  • 而对集- 合来说,区别就是哈希表内没有键和值的配对,只有单一的元素了。

字典在 Python3.7+ 是有序的数据结构,而集合是无序的,其内部的哈希表存储结构,保证了其查找、插入、删除操作的高效性。所以,字典和集合通常运用在对元素的高效查找、去重等场景。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容