python: 内置函数的替代方法 "any"

python: alternative way of built in function "any"

我正在使用 python 2.4,我需要使用我的 python 版本中不可用的任何功能。

有没有我可以用来替换它的函数或表达式?

我需要查找字符串列表中是否至少有一个元素在文本行中。

any 函数很容易重新实现。

这个想法只是迭代一个可迭代对象,一旦找到一个真实的对象,return True;否则 return 错误。

没有欺骗和偷看文档,这里是一个重新实现:

def my_any(iterable):
    for it_element in iterable:
        if it_element:
            return True
    return False

现在 the doc's version:

def any(iterable):
    for element in iterable:
        if element:
            return True
    return False

太简单了,我的版本和文档的一模一样

关于如何使用它... any 函数接受一个可迭代对象。 它通常与列表或生成器表达式一起使用。 例如,如果你想检查 'abcd' 的任何字符是否在 line 字符串中:

any(it_character in line for it_character in 'abcd')

对于您的特定用例("break" 是可选的):

ans = False
for string in lst:
    if string in line: 
        ans = True
        break