列表(List)是 Python 中最常用、最实用的数据类型,相当于一个万能容器,能存数字、字符串、对象甚至其他列表。
这篇整理了开发必用的 20+ 列表方法,图文+实例,一看就懂,一用就会,适合收藏随时查!
一、列表基础:创建与访问
1. 创建列表
# 空列表
empty_list = []
# 普通列表
num_list = [1, 2, 3, 4, 5]
str_list = ["苹果", "香蕉", "橙子"]
mix_list = [1, "Python", True, 3.14] # 混合类型
2. 访问列表元素(索引/切片)
fruits = ["苹果", "香蕉", "橙子", "葡萄"]
# 正索引(从0开始)
print(fruits[0]) # 输出:苹果
print(fruits[2]) # 输出:橙子
# 负索引(从末尾开始,-1是最后一个)
print(fruits[-1]) # 输出:葡萄
# 切片 [起始:结束:步长]
print(fruits[1:3]) # 输出:['香蕉', '橙子']
print(fruits[::2]) # 输出:['苹果', '橙子']
print(fruits[::-1]) # 反转列表:['葡萄', '橙子', '香蕉', '苹果']
二、增:给列表添加元素(4种常用方法)
1. append() — 末尾添加单个元素
lst = [1,2,3]
lst.append(4)
print(lst) # [1,2,3,4]
2. extend() — 末尾添加多个元素(合并列表)
lst = [1,2]
lst.extend([3,4,5])
print(lst) # [1,2,3,4,5]
3. insert() — 指定位置插入元素
lst = ["a", "b", "d"]
lst.insert(2, "c") # 索引2的位置插入"c"
print(lst) # ['a', 'b', 'c', 'd']
4. 直接用 + 拼接列表
lst1 = [1,2]
lst2 = [3,4]
print(lst1 + lst2) # [1,2,3,4]
三、删:删除列表元素(5种常用方法)
1. remove() — 删除第一个匹配的元素
lst = [1,2,3,2]
lst.remove(2)
print(lst) # [1,3,2]
2. pop() — 删除指定索引元素(默认删最后一个)
lst = [10,20,30]
lst.pop(1) # 删除索引1的元素
print(lst) # [10,30]
lst.pop() # 不写索引,删最后一个
print(lst) # [10]
3. del — 删除元素/整个列表
lst = [1,2,3,4]
del lst[0] # 删除索引0元素
print(lst) # [2,3,4]
# del lst # 直接删除整个列表
4. clear() — 清空列表(保留空列表)
lst = [1,2,3]
lst.clear()
print(lst) # []
四、改:修改列表元素
直接通过索引赋值即可:
lst = ["小明", "小红", "小刚"]
lst[1] = "小李"# 把索引1的元素改成小李
print(lst) # ['小明', '小李', '小刚']
五、查:查找与统计(4种常用方法)
1. index() — 查找元素第一次出现的索引
lst = [5,3,7,3,9]
print(lst.index(3)) # 输出:1
2. count() — 统计元素出现次数
lst = [1,2,2,3,2,4]
print(lst.count(2)) # 输出:3
3. len() — 获取列表长度
lst = [10,20,30]
print(len(lst)) # 3
4. in / not in — 判断元素是否存在
lst = ["Python", "Java"]
print("Python"in lst) # True
print("C++"notin lst) # True
六、排:排序与反转(3种常用方法)
1. sort() — 原地升序排序(直接修改原列表)
lst = [3,1,4,2]
lst.sort()
print(lst) # [1,2,3,4]
2. sort(reverse=True) — 原地降序排序
lst = [3,1,4,2]
lst.sort(reverse=True)
print(lst) # [4,3,2,1]
3. reverse() — 原地反转列表
lst = [1,2,3,4]
lst.reverse()
print(lst) # [4,3,2,1]
✨ 补充:sorted() — 生成新排序列表,不修改原列表
lst = [3,1,4,2]
new_lst = sorted(lst)
print(lst) # 原列表不变:[3,1,4,2]
print(new_lst) # 新排序列表:[1,2,3,4]
七、复制列表(避免踩坑)
1. copy() — 浅拷贝
lst1 = [1,2,3]
lst2 = lst1.copy() # 独立复制,互不影响
lst2.append(4)
print(lst1) # [1,2,3]
print(lst2) # [1,2,3,4]
2. 切片复制
lst1 = [1,2,3]
lst2 = lst1[:] # 效果同上
八、高级用法:列表推导式(神器)
一行代码快速生成列表,代码更简洁!
# 生成 1~5 的平方
square = [i**2for i in range(1,6)]
print(square) # [1,4,9,16,25]
# 筛选偶数
even = [i for i in range(10) if i % 2 == 0]
print(even) # [0,2,4,6,8]
九、列表遍历(3种常用方式)
fruits = ["苹果", "香蕉", "橙子"]
# 1. 直接遍历元素
for f in fruits:
print(f)
# 2. 遍历索引+元素
for i, f in enumerate(fruits):
print(i, f)
# 3. while循环遍历
i = 0
while i < len(fruits):
print(fruits[i])
i += 1
十、常用内置函数(和列表搭配)
lst = [1,2,3,4,5]
print(max(lst)) # 最大值:5
print(min(lst)) # 最小值:1
print(sum(lst)) # 求和:15
📌 列表方法速查表
总结
- 列表是有序、可修改、可重复的容器,日常开发使用率第一;
- 列表推导式能简化代码,是 Python 优雅写法的代表;
- 复制列表优先用
copy() 或 [:],避免直接赋值导致互相影响。