Python 列表方法 append 和 extend 之间有什么区别
本文介绍了 Python 中列表 append
和 extend
之间的区别。
Python 列表 append
方法
append
将对象添加到列表的末尾。该对象可以是 Python 中的任何数据类型,例如列表、字典或类对象。
>>> A = [1, 2]
>>> A.append(3)
>>> A
[1, 2, 3]
>>> A.append([4, 5])
>>> A
[1, 2, 3, [4, 5]]
append
完成后,列表的长度将加一。
Python 列表 extend
方法
extend
通过添加来自可迭代对象的元素来扩展列表。它遍历给定的可迭代对象,然后将每个元素添加到列表中。extend
方法给定的参数必须是可迭代的类型,例如列表,否则它将引发 TypeError
。
>>> A = [1, 2]
>>> A.extend(3)
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
A.extend(3)
TypeError: 'int' object is not iterable
如果要添加 3
到列表的末尾,则应首先将 3
放入到一个列表中。
>>> A = [1, 2]
>>> A.extend([3])
>>> A
[1, 2, 3]
extend
方法迭代可迭代对象中的元素,然后将它们一一添加到列表的末尾。
>>> A = [1, 2]
>>> A.extend([3, 4])
>>> A
[1, 2, 3, 4]
Python extend
字符串类型
请注意,当给定对象是字符串 str
类型时,它将把字符串中的每个字符附加到列表中。
>>> A = ["a", "b"]
>>> A.extend("cde")
>>> A
['a', 'b', 'c', 'd', 'e']
Python 列表中 append
和 extend
之间区别的结论
append
将给定对象添加到列表的末尾,因此列表的长度仅增加 1。
另一方面,extend
将给定对象中的所有元素添加到列表的末尾,因此列表的长度增加了给定对象的长度。
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn