python列表的append和extend

时间:2021-02-17 18:39:00

如何对python的列表进行元素扩充,有几个方法:append,extend,“+”。

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

输出:

[1, 2, 3, 4, 5]

如果添加2个元素呢?

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

输出报错,append只能给列表添加一个值:

TypeError: append() takes exactly one argument (2 given)

我们换个写法:

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

输出:

[1, 2, 3, 4, [5, 6]]

append可以添加一个新列表,但新列表将作为内嵌列表。

如果需要两个列表合并呢?可以使用extend:

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

输出:

[1, 2, 3, 4, 5, 6]

再看看:

lst = [1, 2, 3, 4]
lst.extend(5)
print(lst)

输出报错,说明extend只能输入一个列表:

TypeError: 'int' object is not iterable

再看看:

lst = [1, 2, 3, 4]
lst = lst + [5, 6]
print(lst)

输出:

[1, 2, 3, 4, 5, 6]

说明extend与“+”是基本等价的,只不过extend是原地操作。“+”需要赋值给原列表。

总结下:扩展list有3种方法,
1.append:只能添加一个元素,这个元素可以是一个列表,但将作为内嵌列表加入。
2.extend:只能添加一个列表。
3.使用“+”将2个列表合并成一个。