Re: [問題] Python新手 for迴圈問題

看板Python作者 (謬客)時間6年前 (2019/06/12 10:08), 6年前編輯推噓1(105)
留言6則, 3人參與, 6年前最新討論串2/5 (看更多)
※ 引述《a172545056 (Leon)》之銘言: : 各位前輩大家好,我是剛接觸python不久的新人,目前練習到for迴圈時有點卡關,想請 : 教一下各位前輩 : 我有三個List : ListA=[“Apple”,“food”,“Iron”] : ListB=[“x”,“z”,“on”] : ListC=[] : 今天我想知道ListA中的字串是否有包含ListB的字串,有的話ListC.append(“YES”),沒 : 有的話ListC.append(“No”), : 我想得到的結果是ListC[“No”,“No”,“Yes”] : 小弟目前的做法是 稍微修改一下 if len(ListA) != len(ListB): assert 'ListA 長度跟 ListB 長度不一致' for a_index, a_str in enumerate(ListA): b_str = ListB[a_index] if b_str in a_str: ListC.append("Yes") else: ListC.append("No") : 這樣子ListC就增加了很多“No”, : 跟我想要的結果不太一樣, : 想了很久不知道該怎麼做 : 還請各位前輩指點一下,謝謝! 酷炫一點的一行解決 ListD = ['Yes' if ListB[a_index] in a_str else 'No' for a_index,a_str in enumerate(ListA)] -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.38.2.203 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1560305338.A.48A.html

06/12 10:29, 6年前 , 1F
真的非常感謝前輩指點!!!
06/12 10:29, 1F

06/12 15:15, 6年前 , 2F
突然發現我的方法跟你想要的可能不太一樣 XDDD
06/12 15:15, 2F
我發現我誤會你的意思了 正確的code應該是 for a_str in ListA: for b_str in ListB: if b_str in a_str: ListC.append("Yes") break else: ListC.append("No") ※ 編輯: TuCH (114.38.2.203 臺灣), 06/12/2019 15:36:31

06/26 01:49, 6年前 , 3F
大大,請問一下,因為我還在初學者,所以都分行(或者
06/26 01:49, 3F

06/26 01:49, 6年前 , 4F
說比較一步一步),對於一行解,有時看懂有時看不懂。
06/26 01:49, 4F

06/26 01:49, 6年前 , 5F
我想請問在程式上處理速度是否比較快?一行解是要看什
06/26 01:49, 5F

06/26 01:49, 6年前 , 6F
麼資料(或關鍵字)?
06/26 01:49, 6F
文章代碼(AID): #1T05wwIA (Python)
文章代碼(AID): #1T05wwIA (Python)