Python中append和extend的区别

在Python的列表当中,有这两种列表添加元素的方法,那就是appendextend。那么他们到底有什么区别、有什么不一样呢?

append

append用于将一个对象 整体作为列表的新元素,这将改变原列表,但append并没有返回值:

1
2
3
4
5
>>> a = ["Jack", "Rose"]
>>> b = "Peter"
>>> a.append(b)
>>> print(a)
['Jack', 'Rose', 'Peter']

如果将一个新列表作为append的对象,则会将新列表作为原列表的一个元素:

1
2
3
4
5
>>> a = ["Jack", "Rose"]
>>> b = ["Peter", "Bob"]
>>> a.append(b)
>>> print(a)
['Jack', 'Rose', ['Peter', 'Bob']]

extend

extend用于将列表2的元素添加进列表1当中,这将改变列表1,extend同样没有返回值:

1
2
3
4
>>> a = ["Jack", "Rose"]
>>> b = ["Peter", "Bob"]
>>> a.extend(b)
['Jack', 'Rose', 'Peter', 'Bob']

如果将一个字符串作为被extend的对象,将会怎么样呢?

1
2
3
4
>>> a = ["Jack", "Rose"]
>>> b = "Peter"
>>> a.extend(b)
['Jack', 'Rose', 'P', 'e', 't', 'e', 'r']