在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python/ python 列表生成式怎么理解?

python 列表生成式怎么理解?

z=[x if x%3==0 else x%5==0 for x in range(1,9) ]
print(z)

[False, False, 3, False, True, 6, False, False]
為什么5的地方是True,而不是顯示5?這個(gè)語(yǔ)法怎么理解比較好?怎樣翻譯成一個(gè)個(gè)具體的instruction來理解?

回答
編輯回答
笨小蛋

x if x%3==0 else x%5==0 這個(gè)代碼得這樣理解,if 后面, else之前是條件語(yǔ)句,如果條件語(yǔ)句成立,則顯示if之前的表達(dá)式,反之,則顯示else之后的表達(dá)式。

2017年7月22日 02:50
編輯回答
愛是癌

你的代碼等效于下面的這一段代碼:

z = []
for x in range(1,9):
    if x%3 == 0:
        z.append(x)
    else:
        z.append(x%5 == 0)

print(z)

這樣就應(yīng)該很清楚了吧。。

2017年6月16日 14:45
編輯回答
維他命

你要生成器也是這樣吧
`
z=(x if x%3==0 else x%5==0 for x in range(1,9))
print(z)
`

2017年3月20日 08:32
編輯回答
別傷我

應(yīng)該是三元表達(dá)式的問題

a = 1
b = 0

# 讀作:如果a大于b,c就等于a;否則c等于b
c = a if a > b else b
print(c)
2018年5月4日 04:07
編輯回答
伴謊

這個(gè)跟生成器半毛錢也沒關(guān)系吧。。。。原因樓上說的很清楚了。

2017年11月5日 03:56