簡體   English   中英

從列表中提取關鍵字,然后使用和

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM