gpt4 book ai didi

python - 在Python字典中的列表中搜索值

转载 作者:行者123 更新时间:2023-11-28 21:34:16 25 4
gpt4 key购买 nike

我希望能够获得一个有昵称的人的名字(所有昵称都是唯一的)。一个人可以有多个昵称。我正在考虑使用如下的字典

nicknames = {
'lebron james': ['king james', 'lbj'],
'dwayne johnson': ['rocky', 'the rock', 'brahma bull']
}

例如,给定一个字符串'rocky',我希望能够返回'dwayne johnson'。这种数据结构是存储 name=>nicknames 配对的最佳方式吗?或者有没有更好的方法来存储数据以使搜索更高效?

最佳答案

你的字典方向不对。如果昵称是唯一的,请使用它们作为键。

>>> nicknames = {
...: 'lebron james': ['king james', 'lbj'],
...: 'dwayne johnson': ['rocky', 'the rock', 'brahma bull']
...:}
>>>
>>> nicknames = {nick:real for real, lst in nicknames.items() for nick in lst}
>>> nicknames
{'brahma bull': 'dwayne johnson',
'king james': 'lebron james',
'lbj': 'lebron james',
'rocky': 'dwayne johnson',
'the rock': 'dwayne johnson'}
>>>
>>> nicknames['rocky']
'dwayne johnson'

关于python - 在Python字典中的列表中搜索值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53526970/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com