我试图检查字典中是否存在特定值。似乎使用键,一个简单的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
非常感谢任何建议,谢谢。
答案 0 :(得分:3)
如果您想访问字典的值,则需要致电dict.values
:
if '1' in dictionary.values():
然而,没有必要致电dict.keys
:
if 'First' in dictionary.keys():
因为in
运算符遍历字典,从而产生其键。
答案 1 :(得分:2)
阅读docs on dict
。字典上的key in d
运算符会在dict
的键中查找键,而不是其值。
要查看值,请使用value in d.values()
。
此外,这是一种效率较低的O(dict的大小)操作。如果您不断搜索值,通常应该使用不同的数据结构(可能是排序列表,具体取决于具体的用例)。