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