我不明白为什么any()不能按我期望的方式工作。在下面,我想说的是,如果城市列表中的任何城市都在phrase.split()中,则返回True。但是,为什么当phrase.split()是['replacement', 'windows', 'in', 'seattle', 'wa']
且在短语.split()列表中明显有“西雅图”时,它返回false ?
>>> 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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句