Python insert() 语法
insert() 是 Python 列表的一个方法,它用于将某个值插入列表的指定位置。
语法:
list.insert(index, item)说明:
list 是一个列表,insert() 方法接收 2 个参数。
index(必选):表示下标位置,取值可以分为以下情况。- 如果是正数,则从左侧开始计数(0 表示第一个元素前)。
- 如果是负数,则从右侧开始计数(-1 表示倒数第二个位置)。
- 如果超过列表长度,则元素将被插入到列表末尾。
item(必选):表示插入的值。
如果 index 为 0,则表示在列表的开头插入元素;如果 index 为 1,则表示在列表的下标 1 处插入元素,此时插入的值会成为列表的第 2 个元素。
注意:
- insert() 方法没有返回值,而是直接修改原列表。
- 由于可能涉及大量元素的移动,insert() 操作的时间复杂度通常为 O(n),其中 n 是列表的长度。在大型列表的开头或中间频繁插入元素可能会影响性能。
Python insert() 摘要
| 使用频率 | 中 |
|---|---|
| 修改原列表 | 是 |
| 时间复杂度 | O(n) |
| 官方文档 | 查看 |
Python insert() 示例
接下来,我们通过几个简单的示例来讲解一下 Python insert() 方法是如何使用的。
示例 1:insert() 基本用法
colors = ['红', '绿', '蓝']
colors.insert(0, '橙')
print(colors)运行结果如下。
['橙', '红', '绿', '蓝']分析:
colors.insert(0, '橙') 表示在下标为 0 处,也就是列表的开始处插入一个新元素,该新元素的值为 '橙'。
示例 2:insert() 插入列表
colors = ['红', '绿', '蓝']
colors.insert(0, ['橙', '黄'])
print(colors)运行结果如下。
[['橙', '黄'], '红', '绿', '蓝']分析:
colors.insert(0, ['橙', '黄']) 表示在下标为 0 处,将 ['橙', '黄'] 整体作为一个元素插入。不过小伙伴们要注意与 extend() 方法的区别。
# insert()
colors = ['红', '绿', '蓝']
colors.insert(0, ['橙', '黄'])
print(colors) # 输出:[['橙', '黄'], '红', '绿', '蓝']
# extend()
colors = ['红', '绿', '蓝']
colors.extend(['橙', '黄'])
print(colors) # 输出:['红', '绿', '蓝', '橙', '黄']示例 3:insert() 索引越界
nums = [10, 20, 30]
nums.insert(5, 666)
print(nums)运行结果如下。
[10, 20, 30, 666]分析:
当 insert() 的索引超过列表长度时,元素会被自动插入到列表末尾,此时等效于 append() 方法。
示例 4:insert() 索引为负数
fruits = ['苹果', '香蕉', '橘子']
fruits.insert(-1, '芒果')
print(fruits)运行结果如下。
['苹果', '香蕉', '芒果', '橘子']分析:
fruits.insert(-1, '芒果') 表示:先找到了当前列表中索引为 -1 的元素(也就是最后一个元素 '橘子'),然后把 '芒果' 插入到 '橘子' 的前面。
-1 代表列表当前的最后一个元素,insert() 会将新元素插入到该元素的前面,因此新元素最终成为了倒数第二个元素。
示例 5:insert() 插入混合类型
data = ['a', 'b', 'c']
data.insert(2, 100)
data.insert(3, None)
print(data)运行结果如下。
['a', 'b', 100, None, 'c']分析:
insert() 支持插入任意数据类型,包括整数、None 等,插入后列表保持原有顺序。
