создать список из списка N-мерных numpy массивов - PullRequest
0 голосов
/ 22 марта 2020

Я хочу создать список из списка 2x2 numpy массивов

array([[0, 0],
       [1, 1]])

, например, я хочу заполнить список 8 из этих массивов.

x = [] 

for j in range(9):
    for i in np.random.randint(2, size=(2, 2)):
        x.append([i])

this дает мне массив 1x1

z = iter(x)

next(z)

[array([0, 1])]

что мне здесь не хватает?

1 Ответ

0 голосов
/ 22 марта 2020

Вы пропустили итерацию по массиву 2x2 9 раз. Каждая итерация дает строку массива, которую вы видите, когда смотрите на первый элемент - первую строку первой матрицы. Мало того, вы добавляете эту строку в список, поэтому у вас фактически есть 18 списков с одним элементом. То, что вы хотите сделать, это добавить матрицу напрямую, без внутреннего l oop и определенно без дополнительных [] вокруг, или еще лучше:

x = [np.random.randint(2, size=(2, 2)) for _ in range(9)]
...