列表(List)是 Python 中最常用的数据结构之一,灵活掌握元素的添加方法是编程基本功。本文用图解 + 代码实例,帮你彻底搞懂三种核心添加操作。
一、append() — 末尾追加单个元素
作用:在列表末尾添加一个元素。
fruits = ['苹果', '香蕉']
fruits.append('橙子')
print(fruits) # ['苹果', '香蕉', '橙子']
特点:
💡 经典场景:循环收集数据时逐个追加结果。
二、extend() — 批量扩展多个元素
作用:将另一个可迭代对象(列表、元组、字符串等)的所有元素追加到列表末尾。
fruits = ['苹果', '香蕉']
more_fruits = ['橙子', '葡萄', '西瓜']
fruits.extend(more_fruits)
print(fruits)
# ['苹果', '香蕉', '橙子', '葡萄', '西瓜']
# 也支持元组、集合
fruits.extend(('草莓', '蓝莓'))
⚠️ 注意:extend() 与 append() 的区别
# ❌ 错误示范:用 append 添加列表
fruits.append(['橙子', '葡萄'])
# 结果:['苹果', '香蕉', ['橙子', '葡萄']] ← 嵌套了!
# ✅ 正确做法:用 extend 合并列表
fruits.extend(['橙子', '葡萄'])
# 结果:['苹果', '香蕉', '橙子', '葡萄']
特点:
三、insert() — 指定位置插入
作用:在列表的指定索引位置插入元素,原位置及之后的元素后移。
numbers = [10, 30, 40]
numbers.insert(1, 20) # 在索引 1 处插入 20
print(numbers) # [10, 20, 30, 40]
特殊索引:
insert(0, x) → 插入到开头(头部插入)insert(len(list), x) → 等同于 append(x)
# 头部插入
queue = []
queue.insert(0, '第一个')
queue.insert(0, '第二个') # 新元素在头部
print(queue) # ['第二个', '第一个']
特点:
- 频繁中间插入效率较低,大量头部插入建议用
collections.deque
四、三种方法对比速查表
| | | | |
|---|
| append | list.append(x) | | | |
| extend | list.extend(iter) | | | |
| insert | list.insert(i, x) | | | |
五、实战小练习
# 场景:整理购物清单
shopping = ['牛奶', '面包']
# 1. 突然想起要买鸡蛋
shopping.append('鸡蛋')
# 2. 朋友发来一份清单要合并
friend_list = ['苹果', '香蕉', '巧克力']
shopping.extend(friend_list)
# 3. 牛奶最重要,移到最前面
shopping.insert(0, shopping.pop(shopping.index('牛奶')))
print(shopping)
# ['牛奶', '面包', '鸡蛋', '苹果', '香蕉', '巧克力']
总结建议:
- 优先用
append() 和 extend(),效率最高 - 需要特定顺序时用
insert(),但注意性能开销 - 避免用
+ 运算符频繁拼接大列表(会创建新对象,效率低)
希望这篇教程对你有帮助!如有疑问,欢迎在评论区留言 👇