基本上,我试图通过搜索值来从字典中获取值的键。
people = {
"Sarah" : "36",
"David" : "42",
"Ricky" : "13"
}
user_input = ('Enter the age of the individual") #The user enters the
#value
key_to_output = (...) #The variable that would contain the key value
print(key_to_output)
例如,在上面的词典中,如果用户输入“ 36”,则返回“ Sarah”后将返回他们。我正在使用的字典永远不会有重叠的值,所以不用担心会引起任何问题。
此外,由于我的python知识不是很高级,因此如果将响应保持相当业余的状态,将不胜感激。
答案 0 :(得分:2)
您可以这样反转字典-
people_inv = {v:k for k,v in people.items()}
现在说您的用户输入了36,
user_input = "36"
people_inv[user_input] # this will give Sarah
如果值不是像下面的示例中那样唯一,则可以执行此操作-
people = {"Sarah":36, "Ricky":36, "Pankaj":28}
people_inv= {}
for k,v in people.items():
people_inv.setdefault(v, []).append(k)
people_inv["36"]
输出
['Sarah', 'Ricky']
答案 1 :(得分:1)
最简单的方法是对像这样的值进行提示。
def find_key(value, people):
for name in people:
if people[name] == value:
return name
如果您尝试获取多重键,我会尝试:
def find_key(value, people):
names = []
for name in people:
if people[name] == value:
names.append(name)
return names