噜噜哒
对于没有任何内置函数的纯循环方法:def column_sums(square): result = [0] * len(square[0]) for row in square: for i in range(len(result)): result[i] += row[i] return result以下使用zip(*...)换位模式:def column_sums(square): result = [] for col in zip(*square): total = 0 for num in col: total += num result.append(total) return resultsquare = [ [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]print(column_sums(square))# [28, 32, 36, 40]请注意,您通过压缩行来获取列。如果您可以使用sum和所有其他内置插件,以下将是最短的:print(list(map(sum, zip(*square))))
繁星淼淼
用这个:def column_sums(square): result = dict.fromkeys(len(square), 0) for i, v in enumerate(zip(*square)): for x in v: result[i] += x return resultsquare = [ [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]print()或者sum你实际上可以使用:square = [ [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]print(column_sums(square))