Python中的列表list使用详解
一、Python中 list
基础介绍
Python 中的 list
是可变的有序容器,可以存放任意类型的对象。
# 定义一个列表
fruits = ['apple', 'banana', 'cherry']
二、基本操作
1. 添加元素
fruits.append('orange') # 追加到末尾
fruits.insert(1, 'grape') # 指定位置插入
fruits.extend(['mango', 'pear']) # 批量添加
2. 删除元素
fruits.remove('banana') # 删除指定元素(只删第一个)
removed = fruits.pop() # 删除最后一个并返回
del fruits[0] # 删除指定索引
fruits.clear() # 清空列表
3. 访问元素
item = fruits[1] # 正向索引
item = fruits[-1] # 反向索引
4. 列表切片(slice)
sub_list = fruits[1:3] # 截取第1到第2(不含3)
reversed_list = fruits[::-1] # 反转列表
三、循环与遍历
for fruit in fruits:print(fruit)# 带索引遍历
for i, fruit in enumerate(fruits):print(i, fruit)
四、查找与统计
'banana' in fruits # 判断是否存在
index = fruits.index('apple') # 获取索引
count = fruits.count('apple') # 统计出现次数
五、排序与反转
numbers = [4, 1, 7, 3]
numbers.sort() # 原地排序
sorted_numbers = sorted(numbers, reverse=True) # 返回新排序列表
numbers.reverse() # 原地反转
六、列表生成式(推荐)
squares = [x ** 2 for x in range(5)] # [0, 1, 4, 9, 16]
七、注意事项
list.append()
是就地操作,不返回新列表。- 使用
remove()
时若元素不存在会报错,可用if in
先判断。 list1 = list2
会导致两个列表指向同一内存,建议使用.copy()
。- 嵌套列表修改需注意浅拷贝问题(可用
copy.deepcopy()
)。
八、例子:列表去重(保持顺序)
def deduplicate(lst):seen = set()return [x for x in lst if not (x in seen or seen.add(x))]nums = [1, 2, 2, 3, 1]
print(deduplicate(nums)) # [1, 2, 3]