为了账号安全,请及时绑定邮箱和手机立即绑定

基于用户输入的动态 if 语句

基于用户输入的动态 if 语句

慕妹3146593 2021-10-19 17:10:07
我有一个列表,其中包含几个键和值,每个键和值都有自己的关键字存储在其中。为了只返回列表中的特定项目,我将以下 for 循环与 if 语句一起使用:reduced_docs = []for arg in reduced_docs:    if 'amazon' in arg[1] and 'google' in arg[1]:        print(arg[0])上面的代码将返回列表中包含单词 amazon 和 google 的所有项目。这有效,但正如你所看到的,它现在是硬编码的,我会这样: reduced_docs = []    keyword = input('enter your keywords:') keyword1 keyword2     for arg in reduced_docs:            if keyword in arg[1] and keyword in arg[1]:                print(arg[0])正如您在上面的示例代码中看到的那样,它不再是硬编码的,但是如果我有 3 个关键字或 4 个或 5 个关键字呢?我需要做什么来创建一个动态的 if 语句,and根据输入的长度添加条件?到目前为止,我无法理解这一点。
查看完整描述

2 回答

?
慕哥9229398

TA贡献1877条经验 获得超6个赞

您可以向用户询问逗号分隔的关键字,然后使用类似


 reduced_docs = []

    keywords = input('enter your keywords comma separated:')

     for arg in reduced_docs:

         to_print = []

         for keyword in keywords.split(","):

            to_print.append(keyword in arg[0])

         if all(to_print):

            print(arg[1])


查看完整回答
反对 回复 2021-10-19
?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

all(iterable)True如果 的所有元素iterable都为真,则返回。


一起使用生成器表达式:


keywords = input('enter your keywords:').split()

for arg in reduced_docs:

    if all(keyword in arg[1] for keyword in keywords):

        print(arg[0])


查看完整回答
反对 回复 2021-10-19
  • 2 回答
  • 0 关注
  • 188 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号