📜  Python – 求和矩阵列

📅  最后修改于: 2022-05-13 01:54:55.112000             🧑  作者: Mango

Python – 求和矩阵列

有时,我们会遇到这样的问题,我们需要找到矩阵中每一列的总和,即列表列表中每个索引的总和。这种问题在竞争性编程中非常常见和有用。让我们讨论一些可以解决这个问题的方法。

方法 #1:使用sum() + list comprehension + zip()
需要结合上述方法来解决这个特定问题。 sum函数用于获取所需的总和值, zip函数提供相似索引的组合,然后使用列表推导创建列表。

# Python3 code to demonstrate
# Summation of each column in Matrix
# using sum() + list comprehension + zip()
  
# initializing list
test_list = [[3, 7, 6], [1, 3, 5], [9, 3, 2]]
  
# printing original list
print("The original list : " + str(test_list))
  
# using sum() + list comprehension + zip()
# Summation of each column in Matrix
res = [sum(idx) for idx in zip(*test_list)]
  
# print result
print("The Summation of each index list is : " + str(res))
输出 :
The original list : [[3, 7, 6], [1, 3, 5], [9, 3, 2]]
The Summation of each index list is : [13, 13, 13]

方法 #2:使用map() + sum() + zip()
这与上述方法的工作方式几乎相似,但不同之处在于我们使用 map函数来构建求和列表,而不是使用列表推导。

# Python3 code to demonstrate
# Summation of each column in Matrix
# using map() + sum() + zip()
  
# initializing list
test_list = [[3, 7, 6], [1, 3, 5], [9, 3, 2]]
  
# printing original list
print("The original list : " + str(test_list))
  
# using map() + sum() + zip()
# Summation of each column in Matrix
res = list(map(sum, zip(*test_list)))
  
# print result
print("The Summation of each index list is : " + str(res))
输出 :
The original list : [[3, 7, 6], [1, 3, 5], [9, 3, 2]]
The Summation of each index list is : [13, 13, 13]