Вы можете сортировать.
Обратите внимание, что при использовании синтаксиса, например:
['yes' if v == 1 else 'no' for v in l]
Вы используете троичную форму оператора if / else (если вы знакомыс такими языками, как C, это похоже на конструкцию ?:
: (v == 1 ? 'yes' : 'no')
).
В троичной форме оператора if / else нет встроенного 'elif', но вы можете имитировать егов состоянии 'else':
['yes' if v == 1 else 'no' if v == 2 else 'idle' for v in l]
Это все равно, что сказать:
for v in l:
if v == 1 :
print 'yes'
else:
if v == 2:
print 'no'
else:
print 'idle'
Так что нет прямой конструкции 'elif', о которой вы спрашивали, но ее можно смоделировать с помощью вложенногооператоры if / else.