Python - 根据布尔值禁用嵌套for循环

时间:2018-04-26 08:45:28

标签: python loops nested

重写嵌套for循环的最佳方法是什么:

for i in my_generator_function(args...):
    #do stuff...

    for j in another_generator_function(args...):
        #do more stuff

如果我想根据boolan值禁用第一个for循环,但始终保持内部循环?当然我可以在它周围使用if / else,并在else块中放置内部循环的副本。但有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您希望循环1000次,并保留内部10

如果这是你想要的,试试这个:

my_value = False

checker = lambda x, y: y if x else range(1)

def somefunc():
    return range(100)

for i in checker(my_value, somefunc()):
    if my_value:
        #do stuff
    for j in range(10):
        #do stuff