【Python基础查漏补缺】列表的append()和extend()函数

0 开门见山,直接说结论
两者是否相同取决于插入元素的类型——如果要向列表中插入单个元素(比如一个数或字符),应该用append(),extend()会报错;如果要向列表中插入一个列表,两者得到的不同,append()是直接插入列表进去,extend()则是插入一个序列进去。

1 插入单个元素

append:

a = [1, 2, 3]
b = 6
a.append(b)
print(a)
[1, 2, 3, 6]

extend:

a = [1, 2, 3]
b = 6
a.extend(b)
print(a)
TypeError: 'int' object is not iterable

2 插入列表(只含单个元素时)

append:

a = [1, 2, 3]
b = [6]
a.append(b)
print(a)
[1, 2, 3, [6]]

extend:

a = [1, 2, 3]
b = [6]
a.extend(b)
print(a)
[1, 2, 3, 6]

3 插入列表(含多个元素时)

append:

a = [1, 2, 3]
b = [6, 7]
a.append(b)
print(a)
[1, 2, 3, [6, 7]]

extend:

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

总结:由此可见,插入的列表与包含元素个数无关,只要是往列表中插入列表(例2&例3),通常就用extend();只要是往列表中插入单个元素(例1),就用append()。理清楚了,不会错了。

猜你喜欢

转载自blog.csdn.net/qq_16763983/article/details/126570932