Можем ли мы использовать elif
понимание списка?
Пример :
l = [1, 2, 3, 4, 5]
for values in l:
if values==1:
print 'yes'
elif values==2:
print 'no'
else:
print 'idle'
Можем ли мы включить elif
в наше понимание списка аналогично приведенному выше коду?
Например, такой ответ:
['yes', 'no', 'idle', 'idle', 'idle']
До сих пор я использовал только if
и else
в понимании списка.
['yes', 'no']
сделать. Чтобы сделать это, вы можете сделать:['yes' if v == 1 else 'no' for v in l if values in [1,2]]
. В настоящее время я не могу придумать более чистого способа сделать это.источник
'A' if grade>=90 else 'B' if grade>=80 else 'C' if grade>=70 else 'F'
.d
вне понимания?Можно, вроде того.
Обратите внимание, что когда вы используете синтаксис, например:
Вы используете тернарную форму оператора if / else (если вы знакомы с такими языками, как C, это похоже на
?:
конструкцию:)(v == 1 ? 'yes' : 'no')
.Тернарная форма оператора if / else не имеет встроенного elif, но вы можете смоделировать его в условии else:
Это как сказать:
Таким образом, нет прямой конструкции elif, о которой вы спрашивали, но ее можно смоделировать с помощью вложенных операторов if / else.
источник
Может быть, ты хочешь этого:
источник
Вы можете использовать понимание списка, если собираетесь создать другой список из оригинала.
источник
Другой простой способ - использовать понимание условного списка следующим образом:
дает вам правильный ответ:
['да', 'нет', 'простаивает', 'простаивает', 'простаивает']
источник