考虑一下我需要它带来副作用的函数,而不是返回值(例如打印到屏幕,更新GUI,打印到文件等)。
def fun_with_side_effects(x):
...side effects...
return y
现在,使用列表推导功能将此功能称为Pythonic:
[fun_with_side_effects(x) for x in y if (...conditions...)]
请注意,我不会将列表保存在任何地方
还是我应该这样称呼这个函数:
for x in y:
if (...conditions...):
fun_with_side_effects(x)
哪个更好?为什么?
for ... in
则在两种情况下都会使用它-导致出现这样的问题!