0

我想说的是:

if switch == True:
    for i in range(5):
        # stuff()
else:
    for i in range(10):
        # stuff()

有没有更Pythonic的方式呢?

4

2 回答 2

8

将其与条件表达式合二为一

for i in range(5 if switch else 10):
    # do something with i

你不需要在== True这里测试;if 已经为你做了这个。

更具可读性的是将最终值分离到一个变量中:

end = 5 if switch else 10
for i in range(end):
    # do something with i
于 2013-08-27T21:07:21.360 回答
4

使用 的内联缩写形式if/else

for i in range(5 if switch else 10):
    # stuff()
于 2013-08-27T21:07:29.827 回答