Python позволяет «if
» состояние в списковых, например:условия Подворье в цикле
[l for l in lines if l.startswith('example')]
Эта функция отсутствует в обычной «for
» цикла, так и в отсутствии:
for line in lines if line.startswith('example'):
statements
нужно оценить состояние в цикле:
for line in lines:
if line.startswith('example'):
statements
или встраивать генератор, например:
for line in [l for l in lines if l.startswith('example')]:
statements
Правильно ли я это понимаю? Есть ли лучший или более пифонический способ, чем перечисленные выше, для достижения того же результата добавления условия в цикл for?
Обратите внимание, что в качестве примера выбрано «линии», любая коллекция или генератор могут быть там.
Вы спрашиваете, как получить сложные условия в цикле ? –
Но это точно такие же. Вы читаете понимание списка слева направо, и оно содержит ту же функциональность, что и полный цикл. –
Не могли бы вы сказать, в чем именно заключается ваш вопрос? –