Каковы преимущества и недостатки использования списочного понимания в Python 2.54-6? - PullRequest
1 голос
/ 19 ноября 2009

Я слышал, что понимание списка иногда может быть медленным, но я не уверен, почему? Я новичок в Python (из C # фона), и я хотел бы узнать больше о том, когда использовать понимание списка по сравнению с циклом for. Любые идеи, предложения, советы или примеры? Спасибо за помощь.

1 Ответ

2 голосов
/ 19 ноября 2009

Используйте понимание списка (LC), когда это уместно.

Например, если вы передаете любую итерируемую функцию, выражение генератора (genexpr) часто более уместно, а LC бесполезно:

"".join([str(n) for n in xrange(10)])
# becomes
"".join(str(n) for n in xrange(10))

Или, если вам не нужен полный список, цикл for с выражением break будет вашим выбором. Модуль itertools также имеет инструменты, такие как takewhile.

...