all(generator)在应该返回Fals时返回True

2024-06-02 11:36:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我想检查字符串是否包含所有关键字。我使用的是Enthought Canopy分布。你知道吗

例如:

string  = 'I like roses but not violets'
key_words = ['roses', 'violets', 'tulips']

我听说all函数对我很有用。当我按以下方式使用这个函数时

if all( keys in string.lower().split() for keys in key_words):
    print True

然后返回True。你知道吗

我希望False返回,因为tulips不在string.lower().split()中。你知道吗

我怎样才能解决这个问题?你知道吗


Tags: key函数字符串intruestring关键字keys
1条回答
网友
1楼 · 发布于 2024-06-02 11:36:47

您的代码中可能有一个from numpy import *numpyall方法不能很好地处理生成器。你知道吗

[1]: string  = 'I like roses but not violets'

[2]: key_words = ['roses', 'violets', 'tulips']

[3]: if all( keys in string.lower().split() for keys in key_words):
         ...:         print True
         ...:

[4]: from numpy import *

[5]: if all( keys in string.lower().split() for keys in key_words):
        print True
         ...:
True

如果上下文超出您的控制范围,那么您可以使用from __builtin__ import all将文件中的all还原为其默认版本。但是,建议的方法是对numpy进行选择性导入或限定导入。你知道吗

相关问题 更多 >