2015-11-12 39 views
7

else deyiminde bir deyimsel Python for döngüsünde nasıl kullanabilirim?python deyim için python deyim python ifadesi

res = [i for i in [1,2,3,4,5] if i < 4] 

sonucudur: [1, 2, 3]

yukarıdaki kodu normal formu:

res = [] 
for i in [1,2,3,4,5]: 
    if i < 4: 
     res.append(i) 

sonuç terimlere biçimde aynıdır: [1, 2, 3]else etmeden örneğin yazabilir Ve şu istiyorum:

SyntaxError: invalid syntax'u alırım. sonucu olmalıdır: [1, 2, 3, 0, 0] bu normal kodudur :

res = [] 
for i in [1,2,3,4,5]: 
    if i < 4: 
     res.append(i) 
    else: 
     res.append(0) 

sonucudur: Sen, sadece liste anlama bölümüne ve üçlü taşımak yakın olması edildi [1, 2, 3, 0, 0]

cevap

11

nereye değeri yaratıyor.

res = [i if i < 4 else 0 for i in range(1,6)]