Python 3返回搜索值的字典键

2024-05-16 12:32:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我想返回字典中列表的键,如果搜索的值包含在该列表中。我好像搞不懂,最近的办法就是搜索关键字并返回列表:/

这是我的密码

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))

所以如果我在字典里搜索“詹金斯”,它应该会返回“鲍勃”


Tags: name密码列表字典关键字fredbobjenkins
2条回答
next((key for key, names in mylist.items() if 'Fred' in names), None)

这将返回'Bob'。用要搜索的变量替换'Fred'。如果找不到名称,则返回None。你知道吗

迭代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

相关问题 更多 >