Return any() 的值
Return value of any()
我对 Python 中 any
函数的返回值有疑问。
代码如下:
def check():
for l in lines:
ret = any(word in l for word in list)
return ret
它只有 returns 个布尔值,但我需要与列表匹配的单词。
例如:
如果我有字符串 "In school they're eating for lunch a lot of unhealthy food"
和列表 ["lunch", "burger", "sushi"]
那么我需要 "lunch"
.
这个词
在Python 3.8中,赋值表达式可以用来捕获导致any
到return[=12=的witness ].
for l in lines:
if any((x:=word) in l for word in list):
return x
如果any
returnsTrue
,是因为word
的值(赋值给x
)导致word in l
是真实的。 x
和 word
在不同的范围内绑定:word
在生成器表达式的范围内,x
在定义生成器表达式的范围内。
我对 Python 中 any
函数的返回值有疑问。
代码如下:
def check():
for l in lines:
ret = any(word in l for word in list)
return ret
它只有 returns 个布尔值,但我需要与列表匹配的单词。
例如:
如果我有字符串 "In school they're eating for lunch a lot of unhealthy food"
和列表 ["lunch", "burger", "sushi"]
那么我需要 "lunch"
.
在Python 3.8中,赋值表达式可以用来捕获导致any
到return[=12=的witness ].
for l in lines:
if any((x:=word) in l for word in list):
return x
如果any
returnsTrue
,是因为word
的值(赋值给x
)导致word in l
是真实的。 x
和 word
在不同的范围内绑定:word
在生成器表达式的范围内,x
在定义生成器表达式的范围内。