Python列表:从入门到灵活运用的全攻略
一、列表基础特性
可变序列:支持动态增删改元素
异构存储:可混合存储不同类型数据
有序集合:元素保持插入顺序
索引访问:支持正向(0开始)和反向(-1开始)索引
二、核心操作大全
创建与初始化
python
empty_list = [] # 空列表
numbers = [1, 2, 3, 4, 5] # 数字列表
mixed = [1, 'text', 3.14, True] # 混合类型
nested = [[1,2], [3,4]] # 嵌套列表
增删改查操作
python
# 增加元素
lst.append(x) # 末尾添加
lst.insert(i, x) # 指定位置插入
lst.extend(iterable) # 合并可迭代对象
# 删除元素
lst.remove(x) # 删除首个匹配值
lst.pop([i]) # 删除并返回指定位置元素
del lst[i:j] # 删除切片
# 修改元素
lst[i] = new_value # 直接赋值
lst[i:j] = [x,y,z] # 切片赋值
# 查询元素
x in lst # 成员检测
lst.index(x) # 查找索引
lst.count(x) # 计数出现次数
三、高级应用技巧
1. 列表推导式
python
squares = [x**2 for x in range(10)]
even_squares = [x**2 for x in range(10) if x % 2 == 0]
2. 排序与自定义排序
python
lst.sort() # 原地排序
sorted_lst = sorted(lst) # 返回新列表
# 自定义排序
users.sort(key=lambda x: x['age']) # 按年龄排序
3. 切片技巧
python
lst[::-1] # 列表反转
lst[::2] # 隔一个取一个
lst[:5] # 前5个元素
4. 内存优化
python
# 使用生成器表达式处理大数据
sum(x*x for x in range(1000000)) # 不创建临时列表
四、性能优化指南
预分配空间:已知大小时使用lst = [None]*n预分配
避免频繁拼接:使用extend()替代+操作
选择合适数据结构:
频繁插入/删除开头 → 考虑collections.deque
元素唯一性检查 → 考虑set
利用内置函数:map(), filter()等函数式操作。