在 Python 中,列表(list)是一种可变、有序的数据容器。它支持索引、切片、增删改查、拼接等多种操作。
掌握这些基础操作,可以更高效地使用列表。
一、访问与解包
1、解包赋值
基本解包:
a, b, c = [1, 2, 3]
print(a, c) # 13带 * 的可变解包:
first, *middle, last = [1, 2, 3, 4, 5]
print(first, middle, last) # 1 [2, 3, 4] 5使用 _ 忽略部分值:
name, _, score = ["Alice", "ID123", 95]
print(name, score) # Alice 952、索引访问
列表是有序的,可以通过下标(索引)访问元素:
lst = [10, 20, 30, 40]
print(lst[0]) # 10,第一个元素
print(lst[-1]) # 40,最后一个元素2、切片
切片可获取子序列(左闭右开):
lst = [1, 2, 3, 4, 5]
print(lst[1:4]) # [2, 3, 4]
print(lst[:3]) # [1, 2, 3]
print(lst[::2]) # [1, 3, 5]
print(lst[::-1]) # [5, 4, 3, 2, 1] 倒序3、遍历列表
fruits = ["apple", "banana", "cherry"]
for f in fruits:
print(f)
# 带索引遍历
for i, f in enumerate(fruits):
print(i, f)二、修改与删除
1、直接修改元素
lst = [1, 2, 3]
lst[0] = 10
print(lst) # [10, 2, 3]2、切片赋值(批量修改)
lst = [1, 2, 3, 4, 5]
lst[1:3] = [20, 30] # 替换元素
print(lst) # [1, 20, 30, 4, 5]
lst[2:4] = [] # 删除元素
print(lst) # [1, 20, 5]3、删除操作(del)
lst = [10, 20, 30, 40]
del lst[1] # 删除索引为 1 的元素
print(lst) # [10, 30, 40]
del lst[1:3] # 删除切片
print(lst) # [10]三、拼接与重复
a = [1, 2]
b = [3, 4]
print(a + b) # [1, 2, 3, 4],拼接
print(a * 3) # [1, 2, 1, 2, 1, 2],重复
# 常见初始化方式
matrix = [[0] * 4 for _ in range(3)] # 3x4 矩阵
print(matrix)
# [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]四、复制操作
使用切片进行复制:
lst1 = [1, 2, 3]
lst2 = lst1[:] # 浅拷贝
lst2[0] = 99
print(lst1) # [1, 2, 3]
print(lst2) # [99, 2, 3]还可使用 .copy() 方法进行浅拷贝,使用 copy.deepcopy() 方法进行深拷贝。
五、成员运算
使用 in 和 not in 判断元素是否存在:
lst = [1, 2, 3]
print(2 in lst) # True
print(5 not in lst) # True六、使用内置函数和方法
1、内置函数
许多内置函数可直接用于列表:
nums = [5, 2, 9, 1]
print(len(nums)) # 4,长度
print(max(nums)) # 9,最大值
print(min(nums)) # 1,最小值
print(sum(nums)) # 17,求和
print(sorted(nums)) # [1, 2, 5, 9],返回新列表,原列表不变2、list 类的方法
list 类提供了丰富的方法,用于增删改查、排序、拷贝等操作。
详情请参阅:
⚠️常见操作误区
1、索引越界
lst = [1, 2, 3]
# print(lst[5]) # ❌ IndexError: list index out of range2、拼接错误类型
lst = [1, 2]
# print(lst + 3) # ❌ TypeError,需要列表才能拼接3、乘法复制的引用陷阱
matrix = [[0] * 3] * 3
matrix[0][0] = 1
print(matrix) # [[1, 0, 0], [1, 0, 0], [1, 0, 0]] ❌ 都被修改原因:三个子列表实际上是同一个对象的引用。
正确做法是使用推导式生成各自独立的子列表:
matrix = [[0] * 3 for _ in range(3)]小结
列表是 Python 最常用的序列结构之一,熟练掌握这些基础操作是深入学习的前提。
访问操作:索引、切片、遍历
修改操作:直接赋值、切片赋值、del 删除
组合操作:拼接(+)、重复(*)、初始化 [0]*n
复制操作:切片复制 [:]
成员运算:in / not in
内置函数及方法:len()、sum()、max()、min()、sorted() 以及 list 类的方法
“点赞有美意,赞赏是鼓励”
热门跟贴