我正在尝试确定哪个更pythonic。
if any( ( ( i % 2 == 0 and i > 4 ) for i in range(10) ) ) :
return
if any( [ ( i % 2 == 0 and i > 4 ) for i in range(10) ] ) :
return
生成器表达式形成短路的速度会比list comp快吗?
答案 0 :(得分:3)
使用genexp。
list comp将在运行any
之前得到完全评估,而genexp则不会。 any
会短路第一个True
值,因此您可以通过这种方式保存评估。