1

我列出了 4 个列表:

list1, list2, list3, list4 = range(0,4), range(4,9), range(8,15), range(2,16)
# just using range() generate sample data  

list1_item, list2_item, list3_item, list4_item我可以通过以下代码按顺序列出所有项目组合:

for item1 in list1:
    for item2 in list2:
        for item3 in list3:
             for item4 in list4:
                   print [item1, item2, item3, item4]

我可以知道我是否可以通过itertools模块完成这项工作吗?

谢谢

4

2 回答 2

5

是的你可以:

for n in itertools.product(list1, list2, list3, list4):
    print n

n将是一个元组而不是一个列表)。

于 2011-06-08T06:47:46.613 回答
1

我想你想要的是 itertools.product

import itertools
ret = list ( itertools.product( list1, list2, list3, list4 ) )

结果是 ret。

于 2011-06-08T06:55:20.657 回答