这是一段代码,它给了我一个与我所期望的不同的答案。这条线:print list(x)
做我所期望的。我希望这行:print random_array[list(x)]
返回数组中该元素的值,但它返回三个数组。如果例如list(x)
返回[9, 8, 7]
然后random_array[9, :, :], random_array[8, :, :], random_array[7, :, :]
将被打印。有人可以向我解释这是为什么吗?我怎样才能得到预期的答案?
import numpy as np
import itertools
random_array = np.random.randint(0, 9, (10, 10, 10))
my_iterator = itertools.product(range(10),range(10),range(10))
for x in my_iterator:
print list(x)
print random_array[list(x)]