如何对列表数值求和:报错'float' object is not iterable的解决方法
报错原因
你当前的代码每次直接将单个浮点数值赋值给amounts变量,此时amounts是独立的float类型对象,不是可迭代的集合类型。而Python内置的sum()函数要求传入可迭代对象(如列表、元组等)来遍历累加,因此触发了TypeError: 'float' object is not iterable报错。
解决方法
你需要先把所有提取到的数值存储到列表这类可迭代容器中,再执行求和操作,具体步骤如下:
- 首先在遍历字典集合的逻辑外层,初始化一个空列表用来存储所有金额数值
- 每次从
itemDict中提取数值并转换为浮点型后,追加到该列表中 - 全部提取完成后,调用
sum()对列表求和即可
完整代码示例
# 初始化空列表存储所有金额 amounts = [] # item_dicts为你存储所有itemDict的集合,根据你实际的数据源修改即可 for itemDict in item_dicts: amounts.append(float(itemDict['TotalAmount'])) # 执行求和输出 print(sum(amounts))
内容的提问来源于stack exchange,提问作者diogenesonthechoppingblock
相关产品推荐
相关产品推荐

