[英]Extract keywords from a list then use `and`
好吧,我不知道该怎么解释。 例如,我有以下代码:
if 'foo' and 'bar' in 'foobar':
print('foobar')
我想使用一些关键字来检查刺痛,我的问题是,现在我试图将这些关键字放在这样的列表中:
keywords = ['foo', 'bar']
但是,现在如何使用它们? 如果我for
像这样提取它们:
for i in keywords:
if i in 'foobar':
print('foobar')
但这将两次打印foobar
。
您可以使用生成器表达式遍历所有关键字,并检查它们是否都包含在'foobar'
。 使用all
也将使其在找到第一个False
短路。
if all(i in 'foobar' for i in keywords):
print('foobar')
与此类似,如果您要在找到任何关键字的情况下进行print
则可以使用
if any(i in 'foobar' for i in keywords):
print('foobar')
如果要坚持循环,可以使用for-else
。
for i in keywords:
if i not in 'foobar':
break
else:
print('foobar')
如果任何i
不在'foobar'
,则循环将退出并跳过else
节。 该else
,如果for-else
只有当退出循环,而不进入break
ING,在这种情况下,如果每一个只会发生i
是'foobar'
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.