Я слышал, что понимание списка иногда может быть медленным, но я не уверен, почему? Я новичок в Python (исходя из фона C#), и я хотел бы узнать больше о том, когда использовать понимание списка по сравнению с циклом for. Любые идеи, предложения, советы или примеры? Спасибо за помощь.В чем преимущество и недостатки использования понимания списков в Python 2.54-6?
1
A
ответ
2
Использовать список понимания (LC), когда это уместно.
Например, если вы передаете любой ПР»Iterable на функцию, выражением генератора (genexpr) часто является более подходящим, и LC расточительно:
"".join([str(n) for n in xrange(10)])
# becomes
"".join(str(n) for n in xrange(10))
Или, если вы этого не сделаете нужен полный список, for-loop с инструкцией break будет вашим выбором. Модуль itertools также имеет инструменты, такие как takewhile.
Спасибо за ответ Роджер! Отличный пример. – mkelley33