当前位置:  开发笔记 > 编程语言 > 正文

比较Python中的词典

如何解决《比较Python中的词典》经验,为你挑选了1个好方法。

给定两个字典,d1d2和一个整数l,我想找到所有的钥匙kd1这样的,要么d2[k]k not in l.我想输出密钥和相应的值d2,除非d2不包含密钥,我想打印0.例如,如果d1

a: 1
b: 1
c: 1
d: 1

并且d2

a: 90
b: 89
x: 45
d: 90

并且l是90,输出将是(可能以不同的顺序)

b 89
c 0

在Python中执行此操作的最佳方法是什么?我刚刚开始学习这门语言,到目前为止这就是我所拥有的:

for k in d1.keys():
    if k not in d2:
        print k, 0
    else:
        if d2[k]

这当然是有效的(除非我有一个错字),但在我看来,会有更多的pythonic方式.



1> dF...:

你的确很好 - 你可以简化它

for k in d1:
    if d2.get(k, 0) < l:
       print k, d2.get(k, 0)

这对我来说是pythonic,并且几乎是对你的描述代码的直接"翻译".

如果你想避免双重查找,你可以这样做

for k in d1:
    val = d2.get(k, 0)
    if val < l:
        print k, val

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有