所以我想拉过一招其实我第一次听说这个网站的中间调用打印。在Python列表理解
[i for i in range(0, 10) if True or print(i)]
的想法是,你可以坚持到底的“如果”语句,将始终返回true内部在listcomp的每一步调用任意函数。但是,该代码给出了语法错误。
如果我换我想这样调用的函数,虽然:
def f(i):
print i
[i for i in range(0, 10) if True or f(i)]
它产生所需的输出。所以我想知道在Python的思想中,两者之间有什么区别,因为我不知道它可能是什么 - 两个函数都返回“无”,对吧?
'从__future__进口print_function';但为什么你需要有副作用呢? – 2013-05-01 14:51:06
如果您实际上不需要它生成的列表,请不要使用列表解析来代替for-loop。 – chepner 2013-05-01 14:55:37