我正在使用Python 2.4,我需要使用任何在我的Python版本中不可用的函數。python:內置函數「任何」的替代方法
有沒有可以用來代替它的函數或表達式?
我需要找到至少一個字符串列表中的一個元素是否在文本行中。
我正在使用Python 2.4,我需要使用任何在我的Python版本中不可用的函數。python:內置函數「任何」的替代方法
有沒有可以用來代替它的函數或表達式?
我需要找到至少一個字符串列表中的一個元素是否在文本行中。
any
函數相當容易重新實現。
這個想法只是迭代一個迭代,只要找到一個真值對象,就返回True
;否則返回False。
沒有作弊,並在文檔偷看,這裏是一個重實:
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')
有同等版本在文檔本身:https://docs.python.org/3/library/functions.html#any –
好的,謝謝。但我不確定如何使用它。我的列表包含不是布爾值的字符串。 – tsumey
現在是時候使用'grep'升級你的Python版本 –