字典和集合基础
- 相比于列表和元组,字典的性能更优,特别是对于查找、添加和删除操作,字 典都能在常数时间复杂度内完成。
- 而集合和字典基本相同,唯一的区别,就是集合没有键和值的配对,是一系列无序的、唯一的元素组合。
- 集合并不支持索引操作,因为集合本质上是一个哈希表,和列表不一样。
字典和集合性能
- 字典和集合是进行过性能高度优化的数据结构,特别是对于查找、添加和删除操作。
- 由于集合是高度优化的哈希表,里面元素不能重复,并且其添加和查找操作只需 O(1) 的复杂度,那么,总的时间复杂度就只有 O(n)。
字典和集合的工作原理
不同于其他数据结构,字典和集合的内部结构都是一张哈希表。
- 对于字典而言,这张表存储了哈希值(hash)、键和值这 3 个元素。
- 而对集- 合来说,区别就是哈希表内没有键和值的配对,只有单一的元素了。
字典在 Python3.7+ 是有序的数据结构,而集合是无序的,其内部的哈希表存储结构,保证了其查找、插入、删除操作的高效性。所以,字典和集合通常运用在对元素的高效查找、去重等场景。
网友评论