2015-12-19 2 views
-2

У меня есть массивПреобразование NumPy 2D массив в список

r = np.zeros((5,6)) 
print r 

выход которого

[[ 0. 0. 0. 0. 0. 0.] 
[ 0. 0. 0. 0. 0. 0.] 
[ 0. 0. 0. 0. 0. 0.] 
[ 0. 0. 0. 0. 0. 0.] 
[ 0. 0. 0. 0. 0. 0.]] 

Я хочу, чтобы присвоить значения в этом массиве в список поэтому я создал список, название сетки

grid1 = [['a' for i in range (0,6)] for j in range (0,5)] 
print grid1 

выход которого

[['a', 'a', 'a', 'a', 'a', 'a'], ['a', 'a', 'a', 'a', 'a', 'a'], ['a', 'a', 'a', 'a', 'a', 'a'], ['a', 'a', 'a', 'a', 'a', 'a'], ['a', 'a', 'a', 'a', 'a', 'a']] 

Как я могу назначить каждое значение в массиве для соответствующего местоположения в списке, используя цикл for?

Я использую Python 2.7

Вывод должен быть:

[[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0],[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0],[0, 0, 0, 0, 0, 0]] 
+0

Итак, вы просто хотите преобразовать массив numpy 2d в список списков? – soon

+0

Да Сэр ........ – RoY

ответ

3
import numpy as np 
r = np.zeros((5,6)) 
lst = r.tolist() 
+0

Thank u Very Much – RoY

0

Didnt полностью понять. Это то, что вы ищете?

numbers = [] 
    for array in r: 
    for arrayj in array: 
     numbers.append(arrayj) 
+0

Мне нужен вывод в этой форме sir [[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [ 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0]], а не [0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], который является кодом ур-кода – RoY

1

Другая версия, используя для петель и двух массивов, конкатенации из Numpy массива в элемент списка питон элементом:

listed = [] 
temp = [] 
r = np.zeros((5,6)) 

for i in r: 
    for j in i: 
    temp += [int(j)] 
    listed += [temp] 
    temp = [] 

print listed 

listed возвращает

[ 
[0, 0, 0, 0, 0, 0], 
[0, 0, 0, 0, 0, 0], 
[0, 0, 0, 0, 0, 0], 
[0, 0, 0, 0, 0, 0], 
[0, 0, 0, 0, 0, 0] 
] 

. ..как и ожидалось.

+0

Thank У Сэр ... – RoY

Смежные вопросы