如何从按条件过滤的字典中获取值

安德烈安德烈

今天是个好日子!

请帮助我解决以下问题。

我有一些字典

d = {'key1': (0, 1), 'key2': (0, 0), 'key3': (4, 7), 'key4': (0, 0), 'key5': (9, 12), 'key2': (9, 12)}

我正在尝试提取具有(0,0)值的键/值参数

newDict = dict()
for (k, v) in d.values():
    if v == 0:
        newDict[k] = v
newDict

但这行不通...

缺口

您需要比较元组中的两个元素,因此v == (0, 0)您可以简化代码以使用字典理解:

d = {'key1': (0, 1), 'key2': (0, 0), 'key3': (4, 7), 'key4': (0, 0), 'key5': (9, 12), 'key6': (9, 12)}

newDict = { k : v for k, v in d.items() if v == (0, 0) }
print(newDict)

输出:

{'key2': (0, 0), 'key4': (0, 0)}

请注意,我通过将第二个更改为key2更正字典中的重复键key6

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章