我想在这个词的真正意义上的合并两个列表:蟒蛇:合并两个1D名单成一个一维列表
>>> l1 = [1,2,3,4]
>>> l2 = [9,8,7,6]
>>> merged(l1, l2)
[1,9,2,8,3,7,4,6]
我可以很容易到:
>>> m = []
>>> for i1,i2 in zip(l1,l2):
m.extend([i1,i2])
>>> m
[1,9,2,8,3,7,4,6]
但我不知道有更优雅的东西?
ps:有无数的问题声称要合并列表,但没有我发现这样做 - 道歉,如果我失去了真正的雾!
使用'sum'与非数字类型通常是一个ba d的想法。在你的情况下,它会有二次性能 –
gnibbler你能解释一下吗?它是怎样的O(n2)以及为什么不用列表理解? –
此方法创建一个元组(1,9),然后(1,9,2,8),然后(1,9,2,8,3,7),最后创建一个元组(1,9,2,8,3, 7,4,6)。每次创建新元组时,都需要复制先前的值。尝试使用40000个项目而不是4个项目,您会看到很大的差异。 –