我有一个嵌套字典列表,其中包含给定汽车品牌/型号/年份的汽车销售情况。
cars =
[{'id': 2, 'car':
{'car_make':'Acura', 'car_model':'TL', 'car_year':2005},'total_sales':589},
{'id': 30, 'car':
{'car_make':'Acura', 'car_model':'TL', 'car_year':2004}, 'total_sales':167},
{'id': 31, 'car':
{'car_make':'Acura', 'car_model':'Integra', 'car_year':2008}, 'total_sales':200},
{'id': 71, 'car':
{'car_make':'BMW', 'car_model':'5 Series', 'car_year':2011},'total_sales':824},
{'id': 72, 'car':
{'car_make':'BMW', 'car_model':'5 Series', 'car_year':2001}, 'total_sales':6}]
我想要汇总所有年份的销售总额,并返回一个total_sales字典,包括汽车品牌、型号和销售总额。
total_sales = {{'car_make': 'Acura', 'car_model': 'TL', 'total_sales': 756},
{'car_make': 'Acura', 'car_model': 'Integra', 'total_sales': 200},
{'car_make': 'BMW', 'car_model': '5 Series', 'total_sales': 830}}
以下是我的代码,我在嵌套字典中进行迭代并累加销售额。
total_sales = {'car_make':{}}
for car in cars:
if car['car']['car_make'] in total_sales['car_make'] and car['car']['car_model'] in
total_sales['car_model']:
total_sales['total_sales'] = total_sales['total_sales'] + car['total_sales']
else:
total_sales['car_make'] = car['car']['car_make']
total_sales['car_model'] = car['car']['car_model']
total_sales['total_sales'] = car['total_sales']
print(total_sales)
然而,我得到了每个车型和车款的累计销售额,而不是最终总销售额。
{'car_make': 'Acura', 'car_model': 'TL', 'total_sales': 589}
{'car_make': 'Acura', 'car_model': 'TL', 'total_sales': 756}
{'car_make': 'Acura', 'car_model': 'Integra', 'total_sales': 200}
{'car_make': 'BMW', 'car_model': '5 Series', 'total_sales': 824}
{'car_make': 'BMW', 'car_model': '5 Series', 'total_sales': 830}
我是Python的新手,希望有人能够解释一下我做错了什么。我也查看了其他主题,包括遍历嵌套字典,但似乎都不适用于我的情况。