我有两本字典

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 的元素执行 for 循环到 a,然后创建新的循环,但是有没有更优雅的方法,而不是循环?只是好奇。

最佳答案

大多数pythonic可能是dict理解:

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/

10-14 21:03
查看更多