亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

基于用戶輸入的動態 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 關注
  • 211 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號