python中列表的操作
1. 列表创建
- 方括号创建:lst = [1, 2, 3]
- 构造函数:list(range(5)) → [0,1,2,3,4]
- 列表推导式:[x**2 for x in range(5)] → [0,1,4,9,16]
2. 基本操作
- 索引/切片:与字符串相同,支持lst[1:4]等操作
- 拼接:+运算符([1,2] + [3] → [1,2,3])
- 重复:*运算符([0]*3 → [0,0,0])
- 长度:len(lst)
3. 元素操作
- 增:append(x)/insert(i,x)/extend(iterable)
- 删:remove(x)/pop([i])/clear()
- 改:直接赋值lst[2] = 100
- 查:index(x)/count(x)
4. 列表方法
- 排序:sort(key=None, reverse=False)
- 反转:reverse()
- 复制:copy()(浅拷贝)
- 存在判断:x in lst
5. 高级操作
- 切片赋值:lst[1:3] = [10,20]
- 列表解析:[x.upper() for x in lst if x.isalpha()]
- 嵌套列表:matrix = [[1,2], [3,4]]
- 解包操作:a, *b = [1,2,3,4](a=1, b=[2,3,4])
6. 性能注意
- 头部插入(insert(0,x))比尾部插入(append(x))慢
- 查找元素(x in lst)时间复杂度O(n)
- 推荐使用collections.deque实现频繁首尾操作
示例代码:
# 列表推导式生成二维数组
matrix = [[i*j for j in range(3)] for i in range(3)]
# 结果:[[0,0,0], [0,1,2], [0,2,4]]# 列表合并技巧
flat_list = sum(matrix, []) # 二维转一维
列表是Python中最灵活的数据结构之一,合理使用可以高效处理各种数据集合。对于大规模数据,建议考虑NumPy数组或pandas.DataFrame等专用结构。