📜  Python – 不同长度列表的总和

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

Python – 不同长度列表的总和

获取列表的总和是一个很常见的问题,已经被处理和讨论过很多次,但有时,我们需要更好地解决它和总和,即包括嵌套列表的那些。让我们试着得到总和并解决这个特定的问题。

方法 #1:使用列表理解 + sum()
我们可以使用列表推导来解决这个问题,作为我们可以用来执行这个特定任务的传统循环的潜在速记。我们只是对嵌套列表进行迭代和求和,最后使用 sum函数返回累积和。

# Python3 code to demonstrate
# Sum of Uneven Lists of list
# Using list comprehension + sum()
  
# initializing list
test_list = [[1, 4, 5], [7, 3], [4], [46, 7, 3]]
  
# printing original list
print("The original list : " + str(test_list))
  
# using list comprehension + sum()
# Sum of Uneven Lists of list
res = sum([ele for sub in test_list for ele in sub])
  
# print result
print("The total element sum in lists is : " + str(res))
输出 :
The original list : [[1, 4, 5], [7, 3], [4], [46, 7, 3]]
The total element sum in lists is : 80

方法#2:使用chain() + sum()
这个特殊问题也可以使用链函数而不是列表推导来解决,在列表推导中,我们使用传统的 sum函数来检查总和。

# Python3 code to demonstrate
# Sum of Uneven Lists of list
# Using chain() + sum()
from itertools import chain
  
# initializing list
test_list = [[1, 4, 5], [7, 3], [4], [46, 7, 3]]
  
# printing original list
print("The original list : " + str(test_list))
  
# using chain() + sum()
# Sum of Uneven Lists of list
res = sum(list(chain(*test_list)))
  
# print result
print("The total element sum in lists is : " + str(res))
输出 :
The original list : [[1, 4, 5], [7, 3], [4], [46, 7, 3]]
The total element sum in lists is : 80