我试图弄清楚如何在Python中将多个值附加到列表中。我知道有几种方法可以这样做,例如手动输入值,或者在for
循环或append
和extend
函数中删除追加操作。
但是,我想知道是否有更简洁的方法呢?也许某个包或功能?
我是Python的第1天,所以如果我问天真的问题,请原谅我。
非常感谢你。 :)
答案 0 :(得分:207)
您可以使用sequence method list.extend
通过任何类型的iterable中的多个值扩展列表,无论是另一个列表还是提供一系列值的任何其他事物。
>>> lst = [1, 2]
>>> lst.append(3)
>>> lst.append(4)
>>> lst
[1, 2, 3, 4]
>>> lst.extend([5, 6, 7])
>>> lst.extend((8, 9, 10))
>>> lst
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> lst.extend(range(11, 14))
>>> lst
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
因此,您可以使用list.append()
附加单个值,list.extend()
附加多个值。
答案 1 :(得分:13)
除append
函数外,如果用“多个值”表示另一个列表,则可以简单地将它们连接起来。
>>> a = [1,2,3]
>>> b = [4,5,6]
>>> a + b
[1, 2, 3, 4, 5, 6]
答案 2 :(得分:8)
如果您查看official docs,则会在append
,extend
下方看到。这就是你要找的东西。
如果您对高效迭代更感兴趣,那么还有itertools.chain
,而不是以完全填充的数据结构结束。
答案 3 :(得分:3)
letter = ["a", "b", "c", "d"]
letter.extend(["e", "f", "g", "h"])
letter.extend(("e", "f", "g", "h"))
print(letter)
...
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'e', 'f', 'g', 'h']