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

Cha*_*ame 119 python list

我试图找出如何将多个值附加到Python中的列表.我知道有一些方法来做到这一点,如手动输入值,或在PUR追加操作for循环,或appendextend功能.

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

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

非常感谢你.:)

pok*_*oke 257

您可以使用序列方法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]
Run Code Online (Sandbox Code Playgroud)

因此,您可以使用list.append()附加单个值,并list.extend()附加多个值.

  • 请注意,与`append()`相比,extend不保留所添加元素的结构。在使用append的示例中,您将获得`[1、2、3、4,[5、6、7],(8、9、10),range(11、14)]`。** Python 3 ** (3认同)
  • 在使用 Python 的第一天向某人介绍生成器有点复杂。 (2认同)
  • @DanielRoseman 我的观点是这些值可以来自*任何*类型的可迭代序列。 (2认同)
  • @YohanObadia 如果 17 年的 Python 3 是这种情况,那么情况就不再是这样了 - Python 3.7.7 完全按照 poke 描述的那样。 (2认同)
  • @YohanObadia 这毫无意义。Append 追加一个元素,因此它“保持结构”。但这确实是一个废话。@Post169,从 17 年到现在没有任何变化,扩展和附加仍然以相同的方式运行,Yohan 只是不明白什么是什么。 (2认同)

sli*_*der 18

除了append函数之外,如果通过"多个值"表示另一个列表,则可以简单地将它们连接起来.

>>> a = [1,2,3]
>>> b = [4,5,6]
>>> a + b
[1, 2, 3, 4, 5, 6]
Run Code Online (Sandbox Code Playgroud)

  • 我知道这已经很旧了,在撰写本文时,45 人都同意你的答案很好,但严格来说,OP 要求将项目添加到列表中,这是创建一个新列表。尽管非常相似/相关的语句是:a += b。这将附加并与上面的主要答案不同。 (8认同)

Sil*_*Ray 8

如果你看看官方文档,你会在下面看到append,extend.这就是你要找的东西.

还有itertools.chain,如果你是比完全填充的数据结构,结束了更感兴趣的是高效的迭代.


Lam*_*ack 6

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']
    
Run Code Online (Sandbox Code Playgroud)