当前位置:首页>python>Python 列表添加元素操作详解

Python 列表添加元素操作详解

  • 2026-10-11 08:12:06
Python 列表添加元素操作详解
【写在前面】可以参看我的视频进行学习,喜欢的话,关注,点赞,分享,该系列课程,持续更新中,需要笔记代码的同学,评论区留言。

列表(List)是 Python 中最常用的数据结构之一,灵活掌握元素的添加方法是编程基本功。本文用图解 + 代码实例,帮你彻底搞懂三种核心添加操作。


一、append() — 末尾追加单个元素

作用:在列表末尾添加一个元素。

fruits = ['苹果', '香蕉']
fruits.append('橙子')

print(fruits)  # ['苹果', '香蕉', '橙子']

特点:

  • 时间复杂度:**O(1)**(均摊常数时间)
  • 每次只添加一个元素
  • 原列表直接修改,不返回新列表

💡 经典场景:循环收集数据时逐个追加结果。


二、extend() — 批量扩展多个元素

作用:将另一个可迭代对象(列表、元组、字符串等)的所有元素追加到列表末尾。

fruits = ['苹果', '香蕉']
more_fruits = ['橙子', '葡萄', '西瓜']

fruits.extend(more_fruits)
print(fruits)  
# ['苹果', '香蕉', '橙子', '葡萄', '西瓜']

# 也支持元组、集合
fruits.extend(('草莓', '蓝莓'))

⚠️ 注意:extend() 与 append() 的区别

# ❌ 错误示范:用 append 添加列表
fruits.append(['橙子', '葡萄'])
# 结果:['苹果', '香蕉', ['橙子', '葡萄']]  ← 嵌套了!

# ✅ 正确做法:用 extend 合并列表
fruits.extend(['橙子', '葡萄'])
# 结果:['苹果', '香蕉', '橙子', '葡萄']

特点:

  • 时间复杂度:**O(k)**,k 为追加元素个数
  • 逐个追加,不会嵌套

三、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)  # ['第二个', '第一个']

特点:

  • 时间复杂度:**O(n)**(需要移动后续元素)
  • 频繁中间插入效率较低,大量头部插入建议用 collections.deque

四、三种方法对比速查表

方法
语法
插入位置
时间复杂度
适用场景
appendlist.append(x)
末尾
O(1)
单个元素追加
extendlist.extend(iter)
末尾
O(k)
批量合并列表
insertlist.insert(i, x)
指定索引
O(n)
指定位置插入

五、实战小练习

# 场景:整理购物清单
shopping = ['牛奶', '面包']

# 1. 突然想起要买鸡蛋
shopping.append('鸡蛋')

# 2. 朋友发来一份清单要合并
friend_list = ['苹果', '香蕉', '巧克力']
shopping.extend(friend_list)

# 3. 牛奶最重要,移到最前面
shopping.insert(0, shopping.pop(shopping.index('牛奶')))

print(shopping)
# ['牛奶', '面包', '鸡蛋', '苹果', '香蕉', '巧克力']

总结建议:

  • 优先用 append() 和 extend(),效率最高
  • 需要特定顺序时用 insert(),但注意性能开销
  • 避免用 + 运算符频繁拼接大列表(会创建新对象,效率低)

希望这篇教程对你有帮助!如有疑问,欢迎在评论区留言 👇

最新文章

随机文章