基于条件的循环范围

时间:2013-08-27 21:06:14

标签: python if-statement for-loop

我想说的是:

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

有更多的Pythonic方式吗?

2 个答案:

答案 0 :(得分:8)

将其与conditional expression

组合在一起
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

答案 1 :(得分:4)

使用if/else的内联简短形式:

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