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
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
我正在使用 python 2.4,我需要使用我的 python 版本中不可用的任何功能。
有没有我可以用来替换它的函数或表达式?
我需要查找字符串列表中是否至少有一个元素在文本行中。
any
函数很容易重新实现。
这个想法只是迭代一个可迭代对象,一旦找到一个真实的对象,return True
;否则 return 错误。
没有欺骗和偷看文档,这里是一个重新实现:
def my_any(iterable):
for it_element in iterable:
if it_element:
return True
return False
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