首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >理解Python中的理解

理解Python中的理解
EN

Stack Overflow用户
提问于 2013-07-16 04:15:37
回答 1查看 65关注 0票数 0

我正在做一个在线课程,其中一个问题要求我们将列表中基于索引的名称与基于关键字的理解中的薪水进行匹配,并使用以下列表和字典:

代码语言:javascript
复制
d = {0:1000.0, 1:1200.50, 2:990}
names = ['Larry', 'Curly', 'Moe']
listdict2dict = { ... }

所需输出:

代码语言:javascript
复制
{'Larry':1000.0,'Curly':1200.50,'Moe':990}

我写了以下内容:

代码语言:javascript
复制
{names[x]:y for x in range(len(names)) for y in d.values() if x == d.keys()}

它返回一个空集。

有人能给我一两个提示(不是代码答案)如何修复这个问题吗?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-16 04:17:48

代码语言:javascript
复制
>>> {name: d[i] for i, name in enumerate(names)}
{'Larry': 1000.0, 'Moe': 990, 'Curly': 1200.5}

您不应该遍历d.values() -只需使用enumerate遍历姓名并使用该索引来获得d格式的薪水。

编辑后的

您的比较x == d.keys()仍然不起作用。x现在是一个整数,与列表相比没有任何意义。

我认为你只是把它复杂化了。试着记住你的变量是什么类型,以及比较是否有意义。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17663078

复制
相关文章

相似问题

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