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

时间:2017-07-07 08:20:58

标签: python python-2.4

我正在使用python 2.4,我需要使用我的python版本中没有的函数。

是否有可用于替换它的函数或表达式?

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

any功能很容易重新实现。

这个想法只是迭代一个可迭代的,一旦找到一个真实的对象,就返回True;否则返回False。

在没有作弊和偷看文档的情况下,这是一个重新实现:

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')