我很確定應該有更多的Pythonic這樣做 - 但我想不出一個:我如何將一個二維列表合併到一維列表中?有點像zip/map,但有兩個以上的迭代器。在Python中合併/添加列表
例子 - 我有以下列表:
array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
我想有
result = [12, 15, 18] # [1+4+7, 2+5+8, 3+6+9]
到目前爲止,我想出是:
def add_list(array):
number_items = len(array[0])
result = [0] * number_items
for index in range(number_items):
for line in array:
result[index] += line[index]
return result
但是,對我來說看起來不太優雅/ Pythonic。除了不檢查2D數組中的所有「行」是否具有相同的長度,可以相互添加等等,這將是更好的方法嗎?
嗯,雖然有趣,這不是真正的答案(因此可能會吸引downvotes)。例如,您可以問「我如何交錯幾個列表?」這個問題。並自己回答。也許使用一個使用兩個以上列表的例子,否則有人會建議`「,」。join(a)`。 – 2015-04-03 14:45:49