itertools.product cartesian 1 ( ):
import itertools
shape = [4,5,2,6]
for idx in itertools.product(*[range(s) for s in shape]):
value = dataset[idx]
print(idx, value)
, numpy, , np.ndenumerate:
import numpy as np
arr = np.random.random([4,5,2,6])
for idx, value in np.ndenumerate(arr):
print(idx, value)
1 , itertools.product(*[range(s) for s in shape]). .
, :
for i in range(10):
for j in range(8):
product :
for i, j in itertools.product(range(10), range(8)):
, product - .
for -loops product, :
loopover = [range(s) for s in shape]
prod = itertools.product(*loopover)
for idx in prod:
i_0, i_1, ..., i_n = idx
:
for i_1 in range(shape[0]):
for i_2 in range(shape[1]):
...
for i_n in range(shape[n]):