如果搜索到的值包含在该列表中,我想要返回字典中列表的键。我似乎无法弄清楚,我最接近的是搜索密钥并返回列表:/
这是我的代码
mylist = {'Bob':['Harry','Jenkins', 'Onion', 'Fred', 'Earl', 'Sam'],
'Wayne':['Wallace', 'David', 'Eel', 'Perkins', 'Fruit', 'Angela'],
'Jeff':['Aaron', 'Cameron', 'Keith', 'Winston', 'Geoff', 'Wayne']
}
def tester(name):
if name in mylist:
print (True)
print(mylist.get(name))
因此,如果我在字典中搜索'Jenkins',它应该返回'Bob'
答案 0 :(得分:1)
迭代 dictionary items
查看当前列表是否包含搜索值,如果是,则返回密钥,否则返回"否"
<强>代码:强>
mylist = {'Bob':['Harry','Jenkins', 'Onion', 'Fred', 'Earl', 'Sam'],
'Wayne':['Wallace', 'David', 'Eel', 'Perkins', 'Fruit', 'Angela'],
'Jeff':['Aaron', 'Cameron', 'Keith', 'Winston', 'Geoff', 'Wayne']
}
def tester(name):
for keys,value in mylist.items():
if name in value:
return keys
return None
print(tester("Harry"))
<强>输出:强>
Bob
答案 1 :(得分:1)
next((key for key, names in mylist.items() if 'Fred' in names), None)
这将返回'Bob'
。用变量替换'Fred'
来搜索。如果找不到名称,则返回None
。