簡體   English   中英

如何在Python中創建嵌套詞典?

[英]How do you create nested dictionaries in Python?

我很難從下面提到的列表中創建嵌套字典:

student = ['Mike','Frank']
Type = ['Midterm1','Midterm2','Final']
Scores = [[10,20,30],[40,50,60]]

我正在尋找以下字典:

 Scorecard = {'Mike':'Midterm':10,'Midterm2':20,'Final':30},'Frank':   
             {'Midterm':40,'Midterm2':50,'Final':60}}

我能夠創建學生和類型的組合,但是很難在學生級別嵌套類型和值。

輸出將是

scorecard['Mike']['Midterm'] = 10
         ['Mike']['Midterm2'] = 20  

這是一個簡潔的單線:

In [4]: dict(zip(student, (dict(zip(Type, score)) for score in Scores)))
Out[4]:
{'Frank': {'Final': 60, 'Midterm1': 40, 'Midterm2': 50},
 'Mike': {'Final': 30, 'Midterm1': 10, 'Midterm2': 20}}

這里的循環更加明確了:

In [5]: scorecard = {}

In [6]: for st, score in zip(student, Scores):
   ...:     scorecard[st] = dict(zip(Type,score))
   ...:
   ...:

In [7]: scorecard
Out[7]:
{'Frank': {'Final': 60, 'Midterm1': 40, 'Midterm2': 50},
 'Mike': {'Final': 30, 'Midterm1': 10, 'Midterm2': 20}}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM