[问题] Python新手 for循环问题

楼主: a172545056 (Leon)   2019-06-12 09:48:40
各位前辈大家好,我是刚接触python不久的新人,目前练习到for循环时有点卡关,想请
教一下各位前辈
我有三个List
ListA=[“Apple”,“food”,“Iron”]
ListB=[“x”,“z”,“on”]
ListC=[]
今天我想知道ListA中的字串是否有包含ListB的字串,有的话ListC.append(“YES”),没
有的话ListC.append(“No”),
我想得到的结果是ListC[“No”,“No”,“Yes”]
小弟目前的做法是
for a_str in ListA:
for b_str in ListB:
if b_str in a_str:
ListC.append(“Yes”)
continue
else:
ListC.append(“No”)
这样子ListC就增加了很多“No”,
跟我想要的结果不太一样,
想了很久不知道该怎么做
还请各位前辈指点一下,谢谢!
作者: gt0112   2019-06-12 10:06:00
ab两个for循环就判断了九次啊
作者: XperiaZ6C (真●安卓轻旗舰)   2019-06-12 10:06:00
不要用for b_str in ListB改if a_str in ListB:
楼主: a172545056 (Leon)   2019-06-12 10:28:00
好的 谢谢前辈指点
作者: WayneHong (韦恩咖啡)   2019-06-12 12:51:00
推楼上,直接用in就好
作者: papple23g (逆道者)   2019-06-12 22:42:00
["Yes" if b_str in a_str else "No" for a_str,b_strin zip(ListA,ListB)]
作者: Neptune2901 (NepTrident)   2019-07-06 22:11:00

Links booklink

Contact Us: admin [ a t ] ucptt.com