我有两种选择来编写Python程序:
for i in (iterator):
if (statement):
operations
和
for i in (iterator):
if not (statement):
continue
operations
我认为使用“ continue”需要花费更多的时间,但是当“ operations”实际上是一个很长的块时,我觉得缩进较短会使代码看起来更好。
它们的运行速度有很大不同吗?对大多数人来说,其中之一是否具有更好的可读性?还是我可以选择自己喜欢的一个?
答案 0 :(得分:0)
我个人更喜欢缩进较少的第二种方法。
您还可以在其他地方对其他函数进行操作并编写:
results = [operation(i) for i in iterator if statement]
示例:
>>> [i+i for i in range(10) if i<5]
[0, 2, 4, 6, 8]
答案 1 :(得分:0)
我认为他们没有什么不同。您可以使用喜欢的那个。
在代码段下方附加以表明它们完全相同
In [1]: %%time
...: count = 0
...: for i in range(10000000):
...: if i%2==0:
...: count += 1
...:
CPU times: user 1.11 s, sys: 0 ns, total: 1.11 s
Wall time: 1.11 s
In [2]: %%time
...: count = 0
...: for i in range(10000000):
...: if not i%2==0:
...: continue
...: count += 1
...:
CPU times: user 1.15 s, sys: 0 ns, total: 1.15 s
Wall time: 1.15 s
通常,如果operations
很长,我希望if not (conditions): continue
避免缩进。