列表生成式的?for?循環(huán)后面還可以加上?if?判斷。例如:
>>>?[x?*?x?for?x?in?range(1,?11)]
[1,?4,?9,?16,?25,?36,?49,?64,?81,?100]
如果我們只想要偶數(shù)的平方,不改動?range()的情況下,可以加上?if?來篩選:
>>>?[x?*?x?for?x?in?range(1,?11)?if?x?%?2?==?0]
[4,?16,?36,?64,?100]
有了?if?條件,只有?if?判斷為?True?的時(shí)候,才把循環(huán)的當(dāng)前元素添加到列表中。
以上是課程內(nèi)容。
我想問>>>?[x?*?x?for?x?in?range(1,?11)?if?x?%?2?==?0]中?執(zhí)行順序是先for循環(huán)把值給x,然后if判斷是否為偶數(shù),再執(zhí)行x*x嗎?或者還是別的執(zhí)行順序。百度了一下沒找到結(jié)果。?
3 回答
已采納

小貓過河
TA貢獻(xiàn)26條經(jīng)驗(yàn) 獲得超15個(gè)贊
嗯,對.
def?func(): ????l?=?[] ????for?x?in?range(1,11): ????????if?x?%?2?==?0: ???????????l.append(x*x) ????return?l ???? print?func() output:[4,?16,?36,?64,?100]
這里是等價(jià)的,過程差不多,先for再if,你可以這樣理解.
添加回答
舉報(bào)
0/150
提交
取消