如何在Python中将多个值附加到列表中

时间:2013-11-25 14:56:59

标签: python list

我试图弄清楚如何在Python中将多个值附加到列表中。我知道有几种方法可以这样做,例如手动输入值,或者在for循环或appendextend函数中删除追加操作。

但是,我想知道是否有更简洁的方法呢?也许某个包或功能?

我是Python的第1天,所以如果我问天真的问题,请原谅我。

非常感谢你。 :)

4 个答案:

答案 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,则会在appendextend下方看到。这就是你要找的东西。

如果您对高效迭代更感兴趣,那么还有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']