一、列表(list)是什么
- • 列表是 Python 中最常用、最灵活的有序容器
- • 用
[] 表示,里面可以放任意类型数据:数字、字符串、布尔、列表等
二、列表的创建
1. 直接创建(最常用)
# 空列表
lst1 = []
# 普通列表
lst2 = [10, 20, 30, 40]
# 混合类型
lst3 = [1, "hello", True, 3.14]
# 嵌套列表(二维列表)
lst4 = [[1,2], [3,4], [5,6]]
2. 使用 list() 函数创建
# 从字符串转列表
lst5 = list("abcde") # ['a','b','c','d','e']
# 从 range 转列表
lst6 = list(range(5)) # [0,1,2,3,4]
三、列表索引(下标)
列表是有序的,每个元素都有编号,叫索引 / 下标。
1. 正向索引(从左到右)
从 0 开始
lst = [10, 20, 30, 40, 50]
print(lst[0]) # 10
print(lst[1]) # 20
print(lst[2]) # 30
2. 负向索引(从右到左)
最后一个是 -1
print(lst[-1]) # 50
print(lst[-2]) # 40
print(lst[-5]) # 10
3. 索引越界会报错
lst[100] # IndexError: list index out of range
4. 通过索引修改元素
列表是可变类型,可以直接改:
lst = [1,2,3]
lst[0] = 999
print(lst) # [999, 2, 3]
四、列表切片(超级重点)
1. 切片语法
列表[start : end : step]
含义:
口诀:
包左不包右,取到 end 前一个
2. 基础切片示例
lst = [10, 20, 30, 40, 50, 60]
① lst[start:end]
lst[1:4] # [20,30,40] 取 1、2、3 位
lst[2:] # [30,40,50,60] 从2到最后
lst[:4] # [10,20,30,40] 从头取到第3位
lst[:] # [10,20,30,40,50,60] 复制整个列表
② 带步长 step
lst[0:6:2] # [10,30,50] 每隔1个取1个
lst[::2] # [10,30,50] 从头到尾步长2
③ 负索引切片
lst[-3:-1] # [40,50]
lst[-4:] # [30,40,50,60]
④ 步长为负数:倒序取
lst[::-1] # [60,50,40,30,20,10] 列表反转
lst[5:1:-1] # [60,50,40,30] 从右往左取
五、切片详细规则(新手必背)
六、常用切片示例合集
lst = [0,1,2,3,4,5,6,7,8,9]
- • 后 3 个
lst[-3:] # [7,8,9]
- • 隔一个取一个
lst[::2] # [0,2,4,6,8]
- • 逆序列表
lst[::-1] # [9,8,7,...0]
七、嵌套列表的索引(二维列表)
lst = [[1,2], [3,4], [5,6]]
print(lst[0]) # [1,2]
print(lst[0][1]) # 2
print(lst[-1][0]) # 5
八、易错点总结
📝 本章总结
- 3. 切片:
lst[start:end:step]