如何在Python多条件if语句中定位触发条件的关键词?
嘿,这个需求很实用,完全不用搞复杂的嵌套循环!这里有几种简洁又优雅的实现方式,帮你轻松捕获触发条件的关键词:
方法1:获取第一个匹配的关键词(最常用)
把关键词放进列表里,用生成器表达式配合next()函数,能直接拿到第一个命中的关键词,代码清爽又高效:
keywords = ['tribe', 'ai1ec', 'tfly'] # 遍历关键词列表,找到第一个在entry中存在的词,没找到返回None matched_keyword = next((kw for kw in keywords if kw in entry), None) if matched_keyword: print(f'Plugin Found! Triggered by: {matched_keyword}') # 修正原代码里的语法问题,这里应该是给rating赋值 rating = easy_sheet.cell(row=i, column=12).value
方法2:获取所有匹配的关键词(如果需要多个触发词的情况)
如果存在多个关键词同时出现在entry里的场景,用列表推导式把所有匹配的关键词都收集起来:
keywords = ['tribe', 'ai1ec', 'tfly'] matched_keywords = [kw for kw in keywords if kw in entry] if matched_keywords: print(f'Plugin Found! Triggered by: {", ".join(matched_keywords)}') rating = easy_sheet.cell(row=i, column=12).value
另外提个小细节:你原代码里的rating = easy sheet.cell(row=i, column=12).value = rating有语法错误,应该去掉重复的= rating,并且注意easy sheet应该是easy_sheet(下划线连接),不然会报变量未定义的错误哦~
内容的提问来源于stack exchange,提问作者Michael Porter
相关产品推荐
相关产品推荐

