是否可以查看字典的值是否包含字符串的X?

问题描述 投票:-2回答:4

如果我有这样的字典:

 dictionaryName = {'Key1':'Akins, Richard A. ', 'Key2':'Frederic, Matthew B. ', 'Key3':'Freeman, Gordon J. '}

是否有可能写出可以输入诸如Richard A.Richard并返回Key1的东西?

python dictionary
4个回答
1
投票

是,您可以使用adict.items()

for k,v in adict.items():
    if "Richard A." in v:
        print(k)
# output: Key1

1
投票

您基本上是在寻找模糊查找,但看来您的字典键应该是值,反之亦然。也不要使用dict作为变量名。尝试这样的事情:

next(k for k, v in data.items() if 'Richard' in v)

1
投票

是,如果要搜索的文本是值之一的确切子串,则可以使用in:>

def search_dict(d, needle):
    return [k for k, v in d.items() if needle in v]

d = {'Key1':'Akins, Richard A. ', 'Key2':'Frederic, Matthew B. ', 'Key3':'Freeman, Gordon J. '}
print(search_dict(d, "Richard"))

如果只需要返回第一个键,您可以做:

def search_dict(d, needle):
    for k, v in d.items():
        if needle in v:
            return k

0
投票

Python范例3.6

© www.soinside.com 2019 - 2024. All rights reserved.