首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Python中创建嵌套字典?

如何在Python中创建嵌套字典?
EN

Stack Overflow用户
提问于 2018-01-18 09:26:55
回答 1查看 1.3K关注 0票数 2

我很难从下面提到的列表中创建嵌套字典:

代码语言:javascript
复制
student = ['Mike','Frank']
Type = ['Midterm1','Midterm2','Final']
Scores = [[10,20,30],[40,50,60]]

我在找下面的字典:

代码语言:javascript
复制
 Scorecard = {'Mike':'Midterm':10,'Midterm2':20,'Final':30},'Frank':   
             {'Midterm':40,'Midterm2':50,'Final':60}}

我能够创建学生和类型组合,但很难在学生级别嵌套类型和值。

输出将是

代码语言:javascript
复制
scorecard['Mike']['Midterm'] = 10
         ['Mike']['Midterm2'] = 20  
EN

回答 1

Stack Overflow用户

发布于 2018-01-18 09:31:19

下面是一个简洁的一行:

代码语言:javascript
复制
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}}

这是一个更明确的循环:

代码语言:javascript
复制
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}}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48312508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档