Python:嵌套计数器

JS.*_*JS. 6 python iteration

对于我的客户来说,迭代多个计数器正在变成一个重复的任务.

最直接的方式是这样的:

cntr1 = range(0,2)
cntr2 = range(0,5)
cntr3 = range(0,7)

for li in cntr1:
    for lj in cntr2:
        for lk in cntr3:
            print li, lj, lk
Run Code Online (Sandbox Code Playgroud)

计数器的数量可以是从3开始的任何地方,而那些嵌套的循环开始占用房地产.

有没有Pythonic的方法来做这样的事情?

for li, lj, lk in mysteryfunc(cntr1, cntr2, cntr3):
    print li, lj, lk
Run Code Online (Sandbox Code Playgroud)

我一直认为itertools中的某些东西符合这个法案,但我对itertools不太熟悉,无法理解这些选项.有没有像itertools这样的解决方案,还是我需要自己动手?

谢谢,j

Win*_*ert 7

你想要的是什么 itertools.product

for li, lj, lk in itertools.product(cntr1, cntr2, cntr3):
    print li, lj, lk
Run Code Online (Sandbox Code Playgroud)

将完全按照您的要求行事.该名称源于笛卡尔积的概念.