Существует ли общее правило, когда понимание списка предпочтительнее, чем for
l oop? Например:
Сингл для l oop отлично подходит для преобразования в понимание:
l = []
for word in sentence:
l.append(word)
# [word for word in sentence]
Двойной тоже может быть:
l = []
for word in sentence:
for letter in word:
l.append(letter)
# [letter for word in sentence for letter in word]
Однако Я думаю, что читаемость становится довольно плохой после этого. Например, с if
s:
l = []
for word in sentence:
if word.startswith('u'):
for letter in word:
if letter in ('a', 'b', 'c', 'o'):
l.append(letter)
# [letter for word in sentence if word.startswith('u') for letter in word if letter in ('a', 'b', 'c', 'o')]
Существует ли предположение о сложности паттерна for
l oop, когда было бы хуже пытаться поместить его в понимание списка?