以下哪个更适合使用,为什么?
方法1:
for k, v in os.environ.items(): print "%s=%s" % (k, v)
方法2:
print "\n".join(["%s=%s" % (k, v) for k,v in os.environ.items()])
我倾向于通向第一个更容易理解,但这可能只是因为我是Python的新手,并且列表理解对我来说仍然有些陌生。第二种方法是否更像Pythonic?我假设没有性能差异,但是我可能是错的。这两种技术的优缺点是什么?
(从 Dive到Python的代码 )
如果迭代是出于其副作用而进行的(如“打印”示例中所示),则循环更加清晰。
如果执行迭代以构建复合值,则列表推导通常更具可读性。