我很确定应该有一种更 Pythonic 的方式来做到这一点 - 但我想不出一个:如何将二维列表合并为一维列表?有点像 zip/map 但有两个以上的迭代器。
示例 - 我有以下列表:
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 数组中的所有“线”是否具有相同的长度,是否可以相互添加等等。还有什么更好的方法呢?