![](/img/trans.png)
[英]How to create a dictionary with one key and multiple values from a CSV file?
[英]How to create a special dictionary with multiple values under one key?
school = [['dia', 87], ['ria', 100], ['gud', 59], ['ria', 85], ['gud', 76], ['don', 99]]
這個數組包含學生和他們的標記(是的,有一些重復的學生有diff值)。
我想把它轉換成這個字典來找到平均得分:
school_dict = { dia:[87], ria:[100,85], gud:[59,76], don:[99] }
讓我知道是否有人可以為我解決這個問題。
res = {}
for x in school:
res.setdefault(x[0],[]).append(x[1])
print(res)
產量
{'dia': [87], 'ria': [100, 85], 'gud': [59, 76], 'don': [99]}
從性能的角度來看,defaultdict比dict.setdefault()更快,所以你也可以使用它:
from collections import defaultdict
school = [['dia', 87], ['ria', 100], ['gud', 59], ['ria', 85], ['gud', 76], ['don', 99]]
d = defaultdict(list)
for s in school:
d[s[0]].append(s[1])
print(dict(d))
輸出:
{'dia':[87],'ria':[100,85],'gud':[59,76],'don':[99]}
請遵循以下步驟: setdefault vs defaultdict性能,用於與性能相關的討論。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.