在Python 2.54-6中使用列表推导有什么优缺点?

时间:2009-11-19 00:52:14

标签: list-comprehension python-2.6 python-2.5

我听说列表理解有时会很慢,但我不确定为什么?我是Python新手(来自C#背景),我想知道更多关于何时使用列表理解而不是for循环。任何想法,建议,建议或例子?感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

在适当的时候使用列表推导(LC)。

例如,如果您将任何ol'可迭代传递给函数,则生成器表达式(genexpr)通常更合适,并且LC是浪费的:

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

或者,如果您不需要完整列表,则可以选择带有break语句的for循环。 itertools模块也有工具,例如takewhile。