Python 数据结构完全指南:列表/字典/集合/元组高频用法
列表(list)、字典(dict)、集合(set)、元组(tuple)是Python最常用的四种数据结构。选择正确的数据结构能让算法快100倍。
列表(list)
列表有序可变,支持索引和切片。append()末尾追加,insert()插入,extend()合并,pop()弹出。列表推导式[x**2 for x in range(10)]简洁高效。
字典(dict)
字典键值对,查找时间复杂度O(1)。get()安全访问,update()合并。dict推导式{word: len(word) for word in words}。defaultdict提供默认值。
集合(set)
集合无序不重复,支持交、并、差运算。list(set())快速去重。判断子集issubset()、超集issuperset()。
元组(tuple)
元组不可变,可用作字典键。解包x, y = (1, 2)。namedtuple像类一样访问。
性能对比
list查找O(n),dict/set查找O(1)。大量查找场景用dict/set,大量有序遍历用list。
常见问题
Q1: {}是dict还是set?纯{}是空字典,空集合需要set()函数创建。
Q2: list和tuple性能差异?tuple略微更快,主要区别是可变性。
延伸阅读
- Python算法复杂度
- Python collections模块
- Python列表推导式进阶
---
作者:小马 | 绍大技术网 shaoda.net