我正在尝试检查字典中是否存在特定值。对于键,一个简单的if 'x' in 'dictionary'
语句似乎可以工作,但对于值却不行。
dictionary = {
'First': '1',
'Second': '2',
'Third': '3'
}
if 'First' in dictionary:
print('First is here')
if '1' in dictionary:
print('1 is here')
所以明显的逻辑错误是输出只读:
First is here
如有任何建议,我将不胜感激,谢谢。 如果要访问字典的值,需要调用dict.values
:
if '1' in dictionary.values():
没有必要调用dict.keys
,但是:
if 'First' in dictionary.keys():
,因为in
操作符在字典上迭代,从而产生它的键。
阅读dict
上的文档。字典上的key in d
操作符在dict
的键中查找键,而不是在其值中查找键。
查看值,使用value in d.values()
。
同样,这是一个效率较低的O(字典大小)操作。如果您经常搜索值,则通常应该使用不同的数据结构(可能是排序列表,具体取决于确切的用例)。