Python |嵌套循环|子列表的总和



我这样做的目的是使用嵌套循环分别生成每个子列表的和

这是我的列表sales_data

sales_data = [[12, 17, 22], [2, 10, 3], [5, 12, 13]]

子列表可以用任何变量表示,但出于本练习的目的,我们将其称为scoops_sold,我将其设置为0

scoops_sold = 0
到目前为止,我能够像下面这样运行嵌套循环
sales_data = [[12, 17, 22], [2, 10, 3], [5, 12, 13]]
scoops_sold = 0
for location in sales_data:
for element in location:
scoops_sold += element
print(scoops_sold)

结果是96

我实际上想要完成的是返回每个子列表的和,但我不确定我是否能够做到这一点。我想过使用切片,但这并不有效

您可以使用sum():

轻松解决此问题。
print(list(map(sum, sales_data)))

如果你坚持循环:

sums = []
for location in sales_data:
sold = 0
for element in location:
sold += element
sums.append(sold)
print(sums)

[sum(sub_list) for sub_list in sales_data]
# [51, 15, 30]

然而,这个问题有点令人困惑,因为您将scoops_sold设置为0,而int,当您描述的结果是intlist时。

如果您想拥有所有子集的sum,您可能希望使用list来存储每个子集的总和,并且通过使用built-inpython函数sum,您只需要使用一个循环:

scoops_sold = []
for sale_data in sales_data:
salscoops_solds_sum.append(sum(sale_data))

使用列表推导式可以在一行中获得相同的结果:

scoops_sold = [sum(sale_data) for sale_data in sales_data]

sales_data = [[12, 17, 22], [2, 10, 3], [5, 12, 13]]
scoops_sold = 0
for location in sales_data:
print(location)
for element in location:
scoops_sold += element
print(scoops_sold)

相关内容

  • 没有找到相关文章

最新更新