Python 列表 insert() 方法

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 等,插入后列表保持原有顺序。

上一篇: extend()

下一篇: remove()

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号