Skip to main content
 首页 » 编程设计

python之为什么这个 Python "any"函数不返回 True

2025年05月04日9cloudgamer

我不明白为什么 any() 没有按我期望的方式工作。下面,我想说,如果cities列表中的任何一个城市在phrase.split()中,则返回True。但是当 phrase.split() 是 ['replacement', 'windows', 'in', 'seattle', 'wa'] 并且 'seattle' 显然在短语中时,为什么它会返回 false .split() 列表?

>>> cities = ['seattle', 'san antonio', 'denver'] 
>>> phrase = 'replacement windows in seattle wa' 
>>> any(cities) in phrase.split() 
False 
>>> 'seattle' in phrase.split() 
True 

请您参考如下方法:

因为 any(cities) 返回 True,而 True 不在列表中:

>>> cities = ['seattle', 'san antonio', 'denver'] 
>>> phrase = 'replacement windows in seattle wa' 
>>> any(cities) 
True 
>>> True in phrase.split() 
False 
>>> any(cities) in phrase.split() 
False 

您可以使用这种方式查看列表中是否有任何城市:

>>> [i for i in cities if i in phrase.split()] 
['seattle'] 
>>> any(i for i in phrase.split() if i in cities) 
True