Python 中 Append、Extend 和 Insert 的区别

2024 年 8 月 29 日 | 4 分钟阅读

列表(List): 就像动态大小的数组,在 C++ 中的 vector 或 Java 中的 ArrayList 等其他编程语言中声明。列表不一定是同质的,这也是它成为 Python 中最强大工具的主要原因。单个列表可以包含不同的数据类型,如字符串、整数和对象。

众所周知,列表是可变的,因此可以在创建后对其进行修改。列表有几种方法,其中 append()insert()extend() 是最常见的。

在本教程中,我们将学习 Python 列表中的 append()、extend() 和 insert() 函数之间有何不同。

append() 函数

append() 函数用于在列表末尾添加一个元素。我们传递给 append() 函数的参数会作为一个单独的元素添加到列表末尾,列表的长度会增加 1。

语法

“element_1”可以是整数、元组、字符串或另一个列表。

示例

输出

The added elements in the given list are: ['The', 'list_1', 'is', 'an', 'example']

insert() 函数

insert() 函数用于在列表的任何所需位置插入值。我们需要向其中传递两个参数;第一个是插入元素的索引,第二个是要插入的元素。

语法

“element_1”可以是整数、元组、字符串或对象。

示例

输出

The inserted elements in the given list are:  ['The', 'list_1', 'is', 'an', 'example']

extend() 函数

extend() 函数用于将可迭代对象(列表、字符串或元组)的每个元素追加到列表的末尾。这将使列表的长度增加作为参数传递的可迭代对象的元素数量。

语法

示例

输出

The extended elements in the given list are:  ['The', 'list_1', 'is', 'an', 'example', 'j', 'a', 'v', 'a', 't', 'p', 'o', 'i', 'n', 't']

Append()、Insert() 和 Extend() 之间的区别

append() 函数insert() 函数extend() 函数
传递到参数中的元素被添加到列表的末尾。传递到参数中的元素被添加到列表的指定索引处。作为参数传递的可迭代对象的每个元素都被添加到列表的末尾。
作为参数传递的元素将作为一个单独的元素添加,不做任何更改。作为参数传递的元素将作为一个单独的元素添加到指定位置,不做任何更改。作为参数传递的可迭代对象将追加其每个元素到列表的末尾。
列表的长度将增加 1。列表的长度将增加 1。列表的长度将增加可迭代对象中元素的数量。
append() 函数具有 O(1) 的常数时间复杂度。insert() 函数具有 O(n) 的线性复杂度。extend() 函数的时间复杂度为 O(k),其中“k”是可迭代对象的长度。

让我们在同一个程序中比较所有这三种方法

输出

The appended elements in the given list are: ['this', 'is', 'LIST_1', ['Example_1', 'Example_2']]
The inserted elements in the given list are: ['this', 'is', ['Example_1', 'Example_2'], 'of', 'LIST_2']
The extended elements in the given list are: ['this', 'is', 'LIST_3', 'Example_1', 'Example_2']

结论

在本教程中,我们讨论了可用于修改 Python 列表的各种方法。我们还解释了 Python 列表中的 append()、insert() 和 extend() 函数之间的区别。