用 python 中所有可能配对的列表替换一组整数上的嵌套 for 循环
Replace nested for loops over a set of integers with list of all possible pairings in python
我有以下内容:
for i1 in range(6):
for i2 in range(6):
for i3 in range(6):
for i4 in range(6):
# do stuff
我想将其替换为:
for i in possibilities:
# do stuff
哪里
possibilities = [[0,0,0,0],[0,0,0,1],...,[5,5,5,5]]
如何为任意数量的嵌套循环构造此列表? itertools
是正确的选择吗?
是的,您可以使用 itertools.product
来实现
import itertools
r = range(6)
for i in itertools.product(r,r,r,r):
print(i)
这将打印
(0, 0, 0, 0)
(0, 0, 0, 1)
(0, 0, 0, 2)
(0, 0, 0, 3)
(0, 0, 0, 4)
(0, 0, 0, 5)
(0, 0, 1, 0)
(0, 0, 1, 1)
...
(5, 5, 5, 4)
(5, 5, 5, 5)
我有以下内容:
for i1 in range(6):
for i2 in range(6):
for i3 in range(6):
for i4 in range(6):
# do stuff
我想将其替换为:
for i in possibilities:
# do stuff
哪里
possibilities = [[0,0,0,0],[0,0,0,1],...,[5,5,5,5]]
如何为任意数量的嵌套循环构造此列表? itertools
是正确的选择吗?
是的,您可以使用 itertools.product
来实现
import itertools
r = range(6)
for i in itertools.product(r,r,r,r):
print(i)
这将打印
(0, 0, 0, 0)
(0, 0, 0, 1)
(0, 0, 0, 2)
(0, 0, 0, 3)
(0, 0, 0, 4)
(0, 0, 0, 5)
(0, 0, 1, 0)
(0, 0, 1, 1)
...
(5, 5, 5, 4)
(5, 5, 5, 5)