2D リストの 1 つの列の要素の合計を見つける関数を作成しようとしていますが、特定の 1 つの列のみです。リスト内のすべての列の合計を見つける方法の例はたくさんありますが、特定の 1 つの列しか得られない例はありません。また、リストは別の関数からのものでなければなりません。
def sumColumn(matrix, columnIndex):
(No idea what on earth to put here...)
return total
2D リストの 1 つの列の要素の合計を見つける関数を作成しようとしていますが、特定の 1 つの列のみです。リスト内のすべての列の合計を見つける方法の例はたくさんありますが、特定の 1 つの列しか得られない例はありません。また、リストは別の関数からのものでなければなりません。
def sumColumn(matrix, columnIndex):
(No idea what on earth to put here...)
return total
重い行列作業の場合は、numpyを使用することをお勧めします:
>>> import numpy as np
>>> matrix = [[0, 2, 0],
[0, 1, 0]]
>>> columnIndex = 1 # 1 means the second(middle) column
>>> np.array(matrix)[:, columnIndex].sum()
3
純粋な Python の場合:
sum(row[columnIndex] for row in matrix)
一発ギャグ:
sum_column = lambda l, i: sum(x[i] for x in l)
より読みやすく、ほぼ英語:
def sum_column(matrix, index):
return sum(line[index] for line in matrix)