什么是Python列表中append()和+操作符工作方式的区别?

什么是Python列表中append()和+操作符工作方式的区别?

在本文中,我们将看看Python列表中append()和加号操作符之间的区别。

  • 使用mutator()方法,append()方法用于向列表中添加元素。

  • 使用加号操作符‘+’,创建一个能够容纳一个以上元素的新列表。

阅读更多:Python 教程

使用列表时+操作符的行为

Python使用加号操作符‘+’访问第一个列表中的每个元素。当使用加号符号时,会产生一个能容纳一个以上元素的新列表。然后必须将旧列表的元素复制到新列表中,并将新元素插入到末尾。

示例

在这个例子中,我们将看到如何使用+操作符将元素添加到Python列表中。

list =[]
n = 10
for i in range(n):
   list = list+[i]
print(list)

输出

上述代码的输出如下。

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

使用+操作符添加元素的复杂度

每次迭代都必须从原始列表中复制‘i’个元素以构造一个新列表。假设访问列表中的元素所需的时间是恒定的。因此,为了计算附加n个条目到Python列表即样本列表所需的复杂度或时间,我们将所有列表访问相加,然后乘以访问和保存列表元素所需的时间。

为了计算访问和存储操作的总数,首先数一数在附加第一个元素时复制列表的访问和存储操作。已克隆一段。第二次附件需要两个复制操作。第三次附加需要三个复制操作。到目前为止,我们已经复制了以下列表元素数量。因此,时间复杂度为O(n^2)。

使用列表时append()方法的行为

告诉代码使用变异器方法添加一个成员到列表中,使用的是append()方法。它是一种节省时间的方法。

示例

以下示例说明了如何使用append()方法。

list =[]
n = 10
for i in range(n):
   list.append(i)
print(list)

输出

以上代码的输出如下。

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

事实证明,在Python中使用append()方法向已存在的列表添加一个附加条目非常高效。将新项添加到列表是一个O(1)操作。因此,附加n个元素的总复杂度为O(1)。

append()方法和+操作符的区别

当使用’+‘操作符组合两个列表时,在Python中会创建一个新列表,原始对象不会被修改。另一方面,使用extend和append等方法,我们在原地添加列表,即原始对象被修改。使用append插入列表作为对象,而‘+’仅仅是连接两个列表。

示例

下面的例子演示了在列表中, + 运算符和 append 方法之间的区别。

list1=[1,2,3]
list2=['a','b']
list3=list1+list2
print("使用 + 运算符: ")
print(list3)
list1.append(list2)
print("使用 append 方法: ")
print(list1)

输出

上面的代码的输出如下。

使用 + 运算符:
[1, 2, 3, 'a', 'b']
使用 append 方法:
[1, 2, 3, ['a', 'b']]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程