【发布时间】:2013-09-10 21:30:20
【问题描述】:
例如:
nodes = [[1, 2],[3, 4]]
thelist = [[5, 6], [7, 8]]
我如何编码,所以列表将是:
[[1, 2],[3, 4],[5, 6],[7, 8]]
我知道怎么做,但我想要一种优雅的 python 方式。
我的尝试:
for node in nodes:
thelist.insert(0, node)
我想应该有一种更 Pythonic 的方式来做到这一点。
编辑:顺序很重要(这就是我尝试在索引 0 处插入的原因)。
【问题讨论】:
-
互联网上的任何 Python 书籍或教程都会教你如何连接列表。顺便说一句,不要在索引
0处使用insert和list。它会导致整个list被重新分配。列表针对追加而不是前置进行了优化。 -
估计的 OdraEncoded,我知道如何连接,并且大多数书籍都教授示例,其中包含提到的 post sza 之类的列表。但在这种情况下,我将面对列表列表和列表列表,列表列表中充满了列表,哈哈。而且我找不到像您发布的那样好的答案。编辑:哦,我没有在索引 0 处插入,因为顺序有点重要,我要把它添加到 OP 中。
-
@sza 不是重复的,imo,因为链接问题的正确答案是
extend,这里不适用。另外,为什么这被否决了?在这种情况下可能有更好的方法来做到这一点,但这并不会使问题无效。正如标题中所说,这个问题是完全有效的。 -
除了迭代组合结果之外,您还需要做些什么吗?如果没有,
itertools.chain可能就是您想要的。如果您经常插入并且不需要按索引检索项目,您可能需要collections.deque。