请友好一点; 我是个新手。
我试图对同一列表中的多个字典中的值求和,所有这些值都具有相同的键(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']))
这导致“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()
将对所有这些值进行求和。