匹配字典的pythonic方式

标签 python dictionary

我有两本字典

a = {'hola':4.6, 'bye':56.7, 'tres':52.1}
b = {'hola':7.1, 'tres':103.1}

b 是 a 的子集。

我想创建一个新字典,c 的值为 a/b,即,

c = {'hola'=7.1/4.6, 'tres':103.1/52.1}

我可以对 b 的元素和 a 进行 for 循环,然后创建新元素,但是有没有更优雅的方式,无需循环?只是好奇。

最佳答案

大多数 pythonic 可能是字典理解:

c = {k: a[k]/v for k,v in b.iteritems()}

字典理解是在 Python 2.7 中引入的,旧版本使用这个:

c = dict((k, a[k]/v) for k,v in b.iteritems())

关于匹配字典的pythonic方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14985312/

相关文章:

Python Y 轴刻度标准化

dictionary - 如何用 map 替换多个 "if-else-if"

python - 尝试在 Python 中添加到字典时出现 ValueError

c# - 按字典键的字典分组列表(C#)

python - 如何在python中检查xml标签值是否为none

python - Selenium 下载文件

python - 基类中派生类的范围-python中的继承

python - 如何修复试图捕捉某些单词和 ID 的正则表达式?

c++ map/set 迭代器不能使用 .find 取消引用

python - 在字典列表中查找键值