0
說我有名單有沒有辦法將2D列表的相同索引簡單疊加到1D列表中?
[[1, 2, 3], [4, 5, 6]]
的列表,我想要改造這個,使得各個指數相加,我也得到:
[5, 7, 9]
有列表內涵的簡單組合,拉鍊(),sum()等我得到這個結果而不寫一個for循環和累加器的混亂?
說我有名單有沒有辦法將2D列表的相同索引簡單疊加到1D列表中?
[[1, 2, 3], [4, 5, 6]]
的列表,我想要改造這個,使得各個指數相加,我也得到:
[5, 7, 9]
有列表內涵的簡單組合,拉鍊(),sum()等我得到這個結果而不寫一個for循環和累加器的混亂?
zip
將採取splatted列表/元組,所以你可以使用一個修真得到任何大小的總和:
lol = [ [1,2,3],
[4,5,6],
[7,8,9],
]
s = [sum(a) for a in zip(*lol)]
print(s)
打印:
[12, 15, 18]
您可以使用numpy的,你的列表轉換到一個數組,求和0軸如下:
import numpy as np
list_of_lists = [[1, 2, 3], [4, 5, 6]]
arr = np.array(list_of_lists)
result = np.sum(arr, axis=0)
print(result)
雖然這隻會工作,如果你的列表中的所有表具有相同的長度。
您可以將結果使用後轉換成一個列表(如果需要):
result.tolist()