在 Python 2.54-6 中使用列表推导式有哪些优点和缺点?

发布于 2024-08-11 22:36:20 字数 101 浏览 3 评论 0原文

我听说列表理解有时会很慢,但我不确定为什么?我是 Python 新手(具有 C# 背景),我想更多地了解何时使用列表理解和 for 循环。有什么想法、建议、意见或例子吗?感谢您的所有帮助。

I've heard that list comprehensions can be slow sometimes, but I'm not sure why? I'm new to Python (coming from a C# background), and I'd like to know more about when to use a list comprehension versus a for loop. Any ideas, suggestions, advice, or examples? Thanks for all the help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

月下凄凉 2024-08-18 22:36:20

在适当的时候使用列表理解 (LC)。

例如,如果您将任何 ol' iterable 传递给函数,生成器表达式 (genexpr) 通常更合适,而 LC 是浪费:

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

或者,如果您不需要完整列表,则使用带有break 语句将是您的选择。 itertools 模块也有工具,例如 takewhile。

Use a list comprehension (LC) when it's appropriate.

For example, if you are passing any ol' iterable to a function, a generator expression (genexpr) is often more appropriate, and a LC is wasteful:

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

Or, if you don't need a full list, a for-loop with a break statement would be your choice. The itertools module also has tools, such as takewhile.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文