[英]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.