Python 如何在字典中测试/搜索值

Python 如何在字典中测试/搜索值,python,dictionary,Python,Dictionary,我试图检查字典中是否存在特定值。似乎对于键,一个简单的if'x'在'dictionary'语句中有效,但对于值无效 dictionary = { 'First': '1', 'Second': '2', 'Third': '3' } if 'First' in dictionary: print('First is here') if '1' in dictionary: print('1 is here') 因此,明显的逻辑错误是输出仅读取: Fi

我试图检查字典中是否存在特定值。似乎对于键,一个简单的
if'x'在'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

任何建议都将不胜感激,谢谢

如果要访问字典的值,需要调用:

但是,无需致电:


因为中的
运算符在字典上迭代,从而生成其键。

如果要访问字典的值,需要调用:

但是,无需致电:

因为
中的
运算符在字典上迭代,从而生成其键。

请阅读。字典上的
key in d
运算符在
dict
的键中查找键,而不是其值

要查看值,请使用d.values()中的
value

此外,这是一个效率较低的O(dict大小)操作。如果您一直在搜索值,通常应该使用不同的数据结构(可能是一个排序列表,具体取决于具体的用例)。

阅读。字典上的
key in d
运算符在
dict
的键中查找键,而不是其值

要查看值,请使用d.values()中的
value


此外,这是一个效率较低的O(dict大小)操作。如果您一直在搜索值,通常应该使用不同的数据结构(可能是一个根据具体用例排序的列表)。

但是对于键,如果使用“First”(第一个),您应该能够执行
。哦,对不起,我知道那是OP做的。恩,现在知道了。抱歉:-)(需要更多的咖啡)但是对于钥匙,如果在措辞中是“第一”,您应该可以只做
。哦,对不起,我知道那是OP做的。恩,现在知道了。对不起:-)(需要更多的咖啡)
if '1' in dictionary.values():
if 'First' in dictionary.keys():