如果字符串中有我字典中的值,如何打印该值?

时间:2019-03-20 11:59:24

标签: python python-3.x dictionary

我需要从字典中查找消息中是否有单词,如果是,我需要知道它是哪个单词,这样我就可以打印出值:

if any(word in message for word in diccionary):

所以我想做print(diccionary[thatword])

4 个答案:

答案 0 :(得分:0)

for word, value in dictionary.items():
    if word in message:
        print(value)

答案 1 :(得分:0)

这是您要找的吗?

for key, value in dictionary.items():
    if key in message:
        print(value)

答案 2 :(得分:0)

您可以遍历dict以便检查其value中是否有message list

message = ['Hey There', 'Just a List', 'Passing by', 'Randomly']    
dict_ = {1: 'Randomly', 2: 'Hello', 3: 'World'}

for key, value in dict_.items():
    if value in message:
        print(dict_[key])

输出

Randomly

使用list-comprehension

print([v for k,v in dict_.items() if v in message])   # ['Randomly']

编辑

考虑一种情况,使用key,列表中的元素可能是字典中的dict-comprehension

message = ['Hey There', 'Just a List', 'Passing by', 'random', 2]
print({elem : dict_[elem] for elem in message if elem in dict_})

输出

{2: 'Hello'}

答案 3 :(得分:0)

一种快速的替代方法:

next(word for word in dictionary if word in message)