亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在字典中迭代列表

在字典中迭代列表

MM們 2022-09-27 16:23:42
我是Python的新手,我希望在字典中的列表中迭代字典(我知道令人困惑)。my_dict = {"John": [{"class": "math", "score": 100, "year": 2014}, {"class": "english", "score": 85, "year": 2015}], "Timmy": [{"class": "math", "score": 87, "year": 2014}, {"class": "english", "score": 91, "year": 2015}], "Sally":[{"class": "math", "score": 95, "year": 2014}]}我需要創建一個關于學生姓名及其綜合分數的新字典(Sally只有一個分數)。輸出將如下所示:new_dict = {"John": 185, "Timmy": 178, "Sally": 95}任何幫助或指導將不勝感激!
查看完整描述

2 回答

?
鴻蒙傳說

TA貢獻1865條經驗 獲得超7個贊

使用字典理解:


{k: sum(x['score'] for x in v) for k, v in my_dict.items()}

驗證碼:


my_dict = {"John": [{"class": "math", "score": 100, "year": 2014}, {"class": "english", "score": 85, "year": 2015}], 

"Timmy": [{"class": "math", "score": 87, "year": 2014}, {"class": "english", "score": 91, "year": 2015}], 

"Sally":[{"class": "math", "score": 95, "year": 2014}]}


new_dict = {k: sum(x['score'] for x in v) for k, v in my_dict.items()}

# {'John': 185, 'Timmy': 178, 'Sally': 95}


查看完整回答
反對 回復 2022-09-27
?
慕后森

TA貢獻1802條經驗 獲得超5個贊

我試圖編寫一個程序來解決這種情況。


score_dict = {}

for name in my_dict:

    score_dict[name] = 0

    class_items = my_dict[name]

    for class_item in class_items:

        score_dict[name] += class_item['score']


print score_dict


查看完整回答
反對 回復 2022-09-27
  • 2 回答
  • 0 關注
  • 111 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號