Pythonic方式匹配字典

3

我有两个字典

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}

我可以使用for循环遍历b到a的元素并创建新对象,但是否有更优雅的方式而无需循环呢?只是好奇。
1个回答

10

最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())

3
注意:在Python 3.x中,应将"iteritems"更改为"items"。 - Lev Levitsky

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接