Python:检查项目是否在字典中。关键OR值

时间:2016-04-02 04:16:55

标签: python dictionary

我试图通过一个命令检查字典是否在其键中具有特定值以及其值,而不是必须进行OR两次搜索。即。

'b' in d.keys()
'b' in d.keys() or 'b' in d.values()

使用这些条款搜索互联网只返回了关于如何只搜索键或仅搜索值的说明。

d = {'a':'b'}
d.items()         ## this is the closest thing I could find to all the items
'b' in d.items()  ## but this returns false

2 个答案:

答案 0 :(得分:2)

没有单一的功能可以做到这一点。您必须要么(没有键()更快):

'b' in d or 'b' in d.values()

或某种项目循环:

for i in d.items():
    if 'b' in i:
        return True
return False

或:

any(('b' in i) for i in d.items())

PS。它也指出了糟糕的设计。字典对于密钥查找很有用,因为它们很快就可以了。如果您同时检查键和值,则无论如何都要查看所有存储的项目。 (并且它表明你甚至不确定你正在看哪一方)我建议检查sets和dicts的某些组合是否更适合你想要做的事情

答案 1 :(得分:0)

UIScrollView的问题在于它返回一个表示为元组的键/值对列表,因此d.items()不会出现在'b'中。

[('a', 'b')]