我想在這個詞的真正意義上的合併兩個列表:蟒蛇:合併兩個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個項目,您會看到很大的差異。 –