列表方法append()和extend()之间有什么区别?


当前回答

append():它基本上在Python中用于添加一个元素。

示例1:

>> a = [1, 2, 3, 4]
>> a.append(5)
>> print(a)
>> a = [1, 2, 3, 4, 5]

示例2:

>> a = [1, 2, 3, 4]
>> a.append([5, 6])
>> print(a)
>> a = [1, 2, 3, 4, [5, 6]]

extend():其中extend(()用于合并两个列表或在一个列表中插入多个元素。

示例1:

>> a = [1, 2, 3, 4]
>> b = [5, 6, 7, 8]
>> a.extend(b)
>> print(a)
>> a = [1, 2, 3, 4, 5, 6, 7, 8]

示例2:

>> a = [1, 2, 3, 4]
>> a.extend([5, 6])
>> print(a)
>> a = [1, 2, 3, 4, 5, 6]

其他回答

append将元素添加到列表中。extend将第一个列表与另一个列表/可迭代列表连接起来。

>>> xs = ['A', 'B']
>>> xs
['A', 'B']

>>> xs.append("D")
>>> xs
['A', 'B', 'D']

>>> xs.append(["E", "F"])
>>> xs
['A', 'B', 'D', ['E', 'F']]

>>> xs.insert(2, "C")
>>> xs
['A', 'B', 'C', 'D', ['E', 'F']]

>>> xs.extend(["G", "H"])
>>> xs
['A', 'B', 'C', 'D', ['E', 'F'], 'G', 'H']

append():它基本上在Python中用于添加一个元素。

示例1:

>> a = [1, 2, 3, 4]
>> a.append(5)
>> print(a)
>> a = [1, 2, 3, 4, 5]

示例2:

>> a = [1, 2, 3, 4]
>> a.append([5, 6])
>> print(a)
>> a = [1, 2, 3, 4, [5, 6]]

extend():其中extend(()用于合并两个列表或在一个列表中插入多个元素。

示例1:

>> a = [1, 2, 3, 4]
>> b = [5, 6, 7, 8]
>> a.extend(b)
>> print(a)
>> a = [1, 2, 3, 4, 5, 6, 7, 8]

示例2:

>> a = [1, 2, 3, 4]
>> a.extend([5, 6])
>> print(a)
>> a = [1, 2, 3, 4, 5, 6]

Append一次添加整个数据。整个数据将添加到新创建的索引中。另一方面,extend,顾名思义,扩展当前数组。

例如

list1 = [123, 456, 678]
list2 = [111, 222]

使用append,我们得到:

result = [123, 456, 678, [111, 222]]

在扩展期间,我们得到:

result = [123, 456, 678, 111, 222]

append()方法将单个项添加到列表末尾。

x = [1, 2, 3]
x.append([4, 5])
x.append('abc')
print(x)
# gives you
[1, 2, 3, [4, 5], 'abc']

extend()方法接受一个参数,一个列表,并将该参数的每个项附加到原始列表中。(列表被实现为类。“创建”列表实际上是实例化一个类。因此,列表具有对其进行操作的方法。)

x = [1, 2, 3]
x.extend([4, 5])
x.extend('abc')
print(x)
# gives you
[1, 2, 3, 4, 5, 'a', 'b', 'c']

从潜入Python。

我希望我能对这个问题做一个有益的补充。如果您的列表存储了一个特定类型的对象,例如Info,这里有一种情况是extend方法不适合的:在for循环中,每次生成一个Info对象并使用extend将其存储到列表中,它将失败。例外情况如下:

TypeError:“Info”对象不可迭代

但如果使用append方法,结果是可以的。因为每次使用extend方法时,它都会将其视为列表或任何其他集合类型,对其进行迭代,并将其放在上一个列表之后。显然,特定的对象无法迭代。