difference between append and extend function of list - Python的list方法append和extension有什么区别?

Python list / python / list / data-structures / append / extend

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

dreftymac



Answer #1

使用append,你可以追加一个元素来扩展列表。

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

如果你想扩展一个以上的元素,你应该使用extend,因为你只能附加一个元素或一个元素列表。

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

相反,使用extension,你可以像这样扩展一个元素。

>>> a = [1,2]
>>> a.extend([3])
>>> a
[1,2,3]

或者,与append不同,一次扩展更多的元素,而不将列表嵌套到原来的列表中(这也是扩展名称的理由

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

附加1个元素

>>> x = [1,2]
>>> x.append(3)
>>> x
[1,2,3]

延续一个元素

>>> x = [1,2]
>>> x.extend([3])
>>> x
[1,2,3]

如果你使用append来处理多个元素,你必须传递一个元素列表作为参数,你将得到一个NESTED列表!如果你使用append来处理多个元素,你必须传递一个元素列表作为参数。

>>> x = [1,2]
>>> x.append([3,4])
>>> x
[1,2,[3,4]]

而使用 extend,则是传递一个 list 作为参数,但你会得到一个新元素的 list,而这个新元素并不嵌套在旧元素中。

>>> z = [1,2] 
>>> z.extend([3,4])
>>> z
[1,2,3,4]