Python|从值中搜索键
从给定键中查找值的问题非常普遍。但是我们可能有一个问题,我们希望从我们输入的输入键中获取返回键。让我们讨论一些可以解决这个问题的方法。
方法#1:使用朴素方法
在这个方法中,我们只是为每个值运行一个循环并返回对应的键或值匹配的键。这是执行此特定任务的蛮力方式。
Python3
# Python3 code to demonstrate working of
# Search Key from Value
# Using naive method
# initializing dictionary
test_dict = {'Gfg' : 1, 'for' : 2, 'CS' : 3}
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
# initializing value
val = 3
# Using naive method
# Search key from Value
for key in test_dict:
if test_dict[key] == val:
res = key
# printing result
print("The key corresponding to value : " + str(res))
Python3
# Python3 code to demonstrate working of
# Search Key from Value
# Using items() + list comprehension
# initializing dictionary
test_dict = {'Gfg' : 1, 'for' : 2, 'CS' : 3}
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
# initializing value
val = 3
# Using items() + list comprehension
# Search key from Value
res = [key for key, value in test_dict.items() if value == val]
# printing result
print("The key corresponding to value : " + str(res))
输出
The original dictionary is : {'Gfg': 1, 'for': 2, 'CS': 3}
The key corresponding to value : CS
方法 #2:使用 items() + 列表理解
使用 items() 可以轻松解决此问题,它用于一次提取键和值,从而使搜索变得容易,并且可以使用列表推导执行,使其成为单行。
Python3
# Python3 code to demonstrate working of
# Search Key from Value
# Using items() + list comprehension
# initializing dictionary
test_dict = {'Gfg' : 1, 'for' : 2, 'CS' : 3}
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
# initializing value
val = 3
# Using items() + list comprehension
# Search key from Value
res = [key for key, value in test_dict.items() if value == val]
# printing result
print("The key corresponding to value : " + str(res))
输出
The original dictionary is : {'Gfg': 1, 'for': 2, 'CS': 3}
The key corresponding to value : ['CS']