在多条件if-then语句中,是否有可能找出满足哪个条件?

2024-05-15 23:20:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我在做一个python/beautifulsoupwebscraper。我正在搜索某些关键字,我的语句如下所示:

if 'tribe' in entry or 'ai1ec' in entry or 'tfly' in entry:
            print('Plugin Found!')
            rating = easy
            sheet.cell(row=i, column=12).value = rating

我想做的是找出那些关键字中的哪一个使这句话正确。我的第一直觉是编写一个嵌套循环来检查,但我不确定是否有一种方法可以捕获使语句为真的值,从而涉及更少的代码?你知道吗


Tags: orinifeasy关键字语句pluginprint
2条回答

[编辑:更改为仅查找名字]

for name in ('tribe', 'ailec', 'tfly'):
    if name in entry:
        print ('Name =', name)
        print('Plugin Found!')
        rating = easy
        sheet.cell(row=i, column=12).value = rating
        break

我将使用一个生成器理解,我将用一个默认值传递给next。如果理解没有找到任何东西,next返回默认值,否则返回第一个找到的值并在那里停止(类似于any,但它存储结果)

cases = ['tribe','allec','tfly']
entry = 'iiii allec rrrr'


p = next((x for x in cases if x in entry),None)
if p is not None:
    print('Plugin Found!',p)

相关问题 更多 >