繁体   English   中英

遍历字典列表以使用相同的键对值求和

[英]Iterate through a list of dictionaries to sum value with the same key

请友好一点; 我是新手。

我正在尝试对同一个列表中多个字典的值求和,所有字典都使用相同的键(record_amount)。 这看起来应该相当简单,但我不能迭代浮点数。 我该如何解决这个问题?

examplelist = []

def append_data():
 examplelist.append({
  'record_number':len(examplelist)+1,
  'record_amount':float(input('Amount: '))
  })

append_data()

for data in examplelist:
 print(sum(data['record_amount']))

这导致“浮动”object 不可迭代。 我尝试将初始输入更改为 str 输入而不是 float 输入,但这似乎没有帮助。

我也尝试过类似的方法:

def net_income_func():
  cheers = examplelist[0:]['record_amount']
  for data in cheers:
    print(data)

如果有人能指出我正确的方向,那就太好了。 谢谢!

您的程序需要进行一些调整才能有意义:

def append_data(examplelist):
 examplelist.append({
  'record_number':len(examplelist)+1,
  'record_amount':float(input('Amount: '))
  })

examplelist = []
append_data(examplelist)

print(sum([data['record_amount'] for data in examplelist]))

我已将append_data()更改为将examplelist作为参数而不是全局参数。

您可以使用列表理解来提取值,然后sum()将对所有这些值求和。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM