📜  Python|记录的累积列总和

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

Python|记录的累积列总和

有时,在处理记录时,我们可能会遇到一个问题,即我们需要对作为元组的列表容器的所有列进行求和。这种应用程序在 Web 开发领域很常见。让我们讨论可以执行此任务的某些方式。
方法 #1:使用 sum() + 列表理解 + zip()
可以使用上述功能的组合来执行此任务。在此,我们累积相似的索引元素,即使用 zip() 的列,然后使用列表推导遍历它们并使用 sum() 执行求和。

Python3
# Python3 code to demonstrate working of
# Cumulative Columns summation of Records
# using list comprehension + sum() + zip()
  
# initialize list
test_list = [(1, 2, 3), (6, 7, 6), (1, 6, 8)]
  
# printing original list
print("The original list : " + str(test_list))
  
# Cumulative Columns summation of Records
# using list comprehension + sum() + zip()
res =  [sum(ele) for ele in zip(*test_list)]
  
# printing result
print("The Cumulative column sum is : " + str(res))


Python3
# Python3 code to demonstrate working of
# Cumulative Columns summation of Records
# using zip() + map() + sum()
  
# initialize list
test_list = [(1, 2, 3), (6, 7, 6), (1, 6, 8)]
  
# printing original list
print("The original list : " + str(test_list))
  
# Cumulative Columns summation of Records
# using zip() + map() + sum()
res = list(map(sum, zip(*test_list)))
  
# printing result
print("The Cumulative column sum is : " + str(res))


输出
The original list : [(1, 2, 3), (6, 7, 6), (1, 6, 8)]
The Cumulative column sum is : [8, 15, 17]


方法 #2:使用 zip() + map() + sum()
该方法与上述方法类似。在此,列表理解执行的任务由 map() 执行,它将列的总和扩展到压缩元素。

Python3

# Python3 code to demonstrate working of
# Cumulative Columns summation of Records
# using zip() + map() + sum()
  
# initialize list
test_list = [(1, 2, 3), (6, 7, 6), (1, 6, 8)]
  
# printing original list
print("The original list : " + str(test_list))
  
# Cumulative Columns summation of Records
# using zip() + map() + sum()
res = list(map(sum, zip(*test_list)))
  
# printing result
print("The Cumulative column sum is : " + str(res))
输出
The original list : [(1, 2, 3), (6, 7, 6), (1, 6, 8)]
The Cumulative column sum is : [8, 15, 17]