Skip to main content
 首页 » 编程设计

python之如何在 Python 3 中测试所有可迭代对象是否为真

2025年05月04日14mq0036

任务是获取输入的字符串(query)并查看是否有任何单词与字典(rsp_dict)中的键匹配。简单。

words = query.split() 
 
for each in words: 
    if each in rsp_dict: 
        print(rsp_dict[each]) 

但我想不通的是,如果没有单词与字典中的键匹配,如何让它打印出一个短语。我已经尝试了一百万种不同的方法,但我总是以打印每个 False 值的短语结束,而不仅仅是一次。

我真的很希望能从中学习,所以非常感谢任何帮助或指导。也请随时就我对这个问题的措辞提出修改建议。

请您参考如下方法:

这里假设 words = input(*)

使用集合:

not set(words.split()).isdisjoint(rsp_dict.keys()) 

使用任何:

any(w in words.split() for w in rsp_dict.keys()) 

使用列表理解:

[w for w in words.split() if w in rsp_dict.keys()] 

使用其中任何一个:

if (expression): 
   print("Found a matching word in phrase") 
else: 
   print("No matches") 

不太花哨,但您始终可以使用常规的 forloop 运行。