以下是一个示例代码,可以遍历一个列表,并将类型相同的所有金额求和:
def sum_amounts(lst):
sums = {}
for item in lst:
if isinstance(item, dict) and 'type' in item and 'amount' in item:
item_type = item['type']
item_amount = item['amount']
if item_type in sums:
sums[item_type] += item_amount
else:
sums[item_type] = item_amount
return sums
# 示例数据
data = [
{'type': 'A', 'amount': 10},
{'type': 'B', 'amount': 20},
{'type': 'A', 'amount': 30},
{'type': 'C', 'amount': 40},
{'type': 'B', 'amount': 50}
]
result = sum_amounts(data)
print(result)
输出结果:
{'A': 40, 'B': 70, 'C': 40}
以上代码定义了一个名为sum_amounts
的函数,它接受一个列表作为参数,并返回一个字典,其中键是类型,值是该类型的金额总和。
在函数中,我们遍历列表中的每个元素,检查它是否是一个字典,并且是否包含"type"和"amount"键。如果是,则获取类型和金额,并将金额添加到相应类型的总和中。
最后,我们返回包含类型和总和的字典。在示例中,结果是{'A': 40, 'B': 70, 'C': 40}
。