2019-01-30
閱讀量:
817
關(guān)于python 列表推導(dǎo)式 if else 組合
關(guān)于python列表推導(dǎo)式中if else中始終不太理解,求指導(dǎo)
具體如代碼如下
list_range=[1,2,3,4,5]
cnum=5
list_range[(cnum-3) if (cnum-3)>0 else 0:cnum-1]
最終輸出結(jié)果為[3,4]
按照我的理解,cnum=5,滿足if條件,那么應(yīng)該是list_range[2],即輸出的值應(yīng)為為3,現(xiàn)在輸出的是[3,4]
百思不得其解啊,難道滿足條件后, cnum-3的值將 0:cnum-1前面的0替換了?
答:這個(gè)list_range[]的中括號(hào)里有冒號(hào),說(shuō)明最終結(jié)果是列表切片,是一個(gè)范圍,有start和end
cnum = 5,所以if else 返回 true,即:
start=cnum-3=2
end=cnum-1 = 5-1 = 4
最終表達(dá)式:list_range[2:4],所以是[3,4]






評(píng)論(0)


暫無(wú)數(shù)據(jù)
CDA考試動(dòng)態(tài)
CDA報(bào)考指南
推薦帖子
0條評(píng)論
0條評(píng)論
0條評(píng)論
0條評(píng)論