Python列表基础
列表是可变序列,存储有序元素,支持增删改查等丰富操作。
列表创建
基本创建
Python
# 空列表
lst1 = []
lst2 = list()
# 带元素列表
lst3 = [1, 2, 3, 4, 5]
lst4 = ["a", "b", "c"]
# 混合类型
lst5 = [1, "hello", True, 3.14]
其他方式创建
Python
# range 创建
lst6 = list(range(5)) # [0, 1, 2, 3, 4]
# 字符串分割
lst7 = "hello".split() # ['hello']
lst8 = list("hello") # ['h', 'e', 'l', 'l', 'o']
# 列表推导式
lst9 = [x**2 for x in range(5)] # [0, 1, 4, 9, 16]
索引与切片
索引访问
Python
lst = [1, 2, 3, 4, 5]
# 正向索引(从 0 开始)
print(lst[0]) # 1
print(lst[2]) # 3
# 反向索引(从 -1 开始)
print(lst[-1]) # 5
print(lst[-2]) # 4
切片操作
Python
lst = [1, 2, 3, 4, 5]
# 基本切片 [start:end]
print(lst[1:4]) # [2, 3, 4]
print(lst[:3]) # [1, 2, 3]
print(lst[2:]) # [3, 4, 5]
# 步长切片 [start:end:step]
print(lst[::2]) # [1, 3, 5]
print(lst[::-1]) # [5, 4, 3, 2, 1](反转)
增加元素
append 添加末尾
Python
lst = [1, 2, 3]
lst.append(4)
print(lst) # [1, 2, 3, 4]
insert 插入位置
Python
lst = [1, 2, 3]
lst.insert(1, "new")
print(lst) # [1, 'new', 2, 3]
extend 扩展列表
Python
lst = [1, 2]
lst.extend([3, 4])
print(lst) # [1, 2, 3, 4]
# 等价于 + 运算
lst = [1, 2] + [3, 4]
删除元素
remove 按值删除
Python
lst = [1, 2, 3, 2]
lst.remove(2) # 删除第一个匹配项
print(lst) # [1, 3, 2]
pop 按索引删除
Python
lst = [1, 2, 3, 4]
value = lst.pop(1) # 删除并返回索引 1 的元素
print(value) # 2
print(lst) # [1, 3, 4]
# pop() 默认删除末尾
lst.pop() # 删除末尾元素
print(lst) # [1, 3]
del 删除
Python
lst = [1, 2, 3, 4]
del lst[1] # 删除索引 1
print(lst) # [1, 3, 4]
del lst[1:3] # 删除切片
print(lst) # [1, 4]
clear 清空
Python
lst = [1, 2, 3]
lst.clear()
print(lst) # []
修改元素
直接修改
Python
lst = [1, 2, 3]
lst[1] = "new"
print(lst) # [1, 'new', 3]
切片修改
Python
lst = [1, 2, 3, 4]
lst[1:3] = ["a", "b"]
print(lst) # [1, 'a', 'b', 4]
查询操作
in 检查存在
Python
lst = [1, 2, 3]
print(2 in lst) # True
print(5 in lst) # False
index 查找位置
Python
lst = [1, 2, 3, 2]
print(lst.index(2)) # 1(第一个位置)
# lst.index(5) # ValueError(不存在时报错)
count 统计次数
Python
lst = [1, 2, 3, 2, 2]
print(lst.count(2)) # 3
常用方法
排序
Python
lst = [3, 1, 4, 2]
# sort 原地排序
lst.sort() # 升序
print(lst) # [1, 2, 3, 4]
lst.sort(reverse=True) # 降序
print(lst) # [4, 3, 2, 1]
# sorted 返回新列表
lst = [3, 1, 4, 2]
new_lst = sorted(lst)
print(new_lst) # [1, 2, 3, 4]
print(lst) # [3, 1, 4, 2](原列表不变)
反转
Python
lst = [1, 2, 3]
lst.reverse()
print(lst) # [3, 2, 1]
长度与极值
Python
lst = [1, 2, 3, 4, 5]
print(len(lst)) # 5
print(min(lst)) # 1
print(max(lst)) # 5
print(sum(lst)) # 15
复制
Python
lst = [1, 2, 3]
# 浅拷贝
copy1 = lst.copy()
copy2 = lst[:]
copy3 = list(lst)
print(copy1) # [1, 2, 3]
列表操作对比
| 操作 | 方法 | 示例 | 返回值 |
|---|---|---|---|
| 添加末尾 | append | lst.append(1) | None |
| 插入位置 | insert | lst.insert(0, 1) | None |
| 扩展列表 | extend | lst.extend([1,2]) | None |
| 删除值 | remove | lst.remove(1) | None |
| 删除索引 | pop | lst.pop(1) | 删除元素 |
| 查位置 | index | lst.index(1) | 索引 |
| 统计次数 | count | lst.count(1) | 次数 |
| 排序 | sort | lst.sort() | None |
| 反转 | reverse | lst.reverse() | None |
要点总结
- 列表用方括号创建,元素有序可变
- 索引从 0 开始,负索引从末尾开始
- append/insert/extend 添加元素
- remove/pop/del 删除元素
- sort 原地排序,sorted 返回新列表
📝 发现内容有误?点击此处直接编辑