【发布时间】:2011-02-20 10:26:37
【问题描述】:
以下哪个更好用,为什么?
方法一:
for k, v in os.environ.items():
print "%s=%s" % (k, v)
方法二:
print "\n".join(["%s=%s" % (k, v)
for k,v in os.environ.items()])
我倾向于将第一个引向更容易理解的方向,但这可能只是因为我是 Python 新手,而列表推导对我来说仍然有些陌生。第二种方式被认为更 Pythonic 吗?我假设没有性能差异,但我可能错了。这两种技术的优缺点是什么?
(代码取自Dive into Python)
【问题讨论】:
-
无论如何打印都很慢 - 追求可读性(for循环)。一般来说,首先考虑可读性。然后,当它看起来很慢时 - 配置文件和优化。除非您正在设计一个框架(库),否则您一开始可以摆脱臭代码。然后,您将了解哪些有效,哪些无效。
标签: python coding-style foreach list-comprehension