два списка преобразовать в один ndarray - PullRequest
0 голосов
/ 17 июня 2020

Вот моя проблема,

import numpy  
lst1 = [[1,2,3],[7,8,9]]
lst2 = [4,5,6]
lst1.extend(lst2)
print(len(lst1))
print(len(lst1[0]))
NewArr = numpy.asarray(lst1) 
print(NewArr.shape)
print ("List:", lst1) 
print ("Array: ", NewArr)

запустите этот код, он распечатает результат:

5
3
(5,)
List: [[1, 2, 3], [7, 8, 9], 4, 5, 6]
Array:  [list([1, 2, 3]) list([7, 8, 9]) 4 5 6]

, но я хочу, чтобы результат выглядел так:

5
3
(5,3)
List: [[1,2,3,4,5,6],[7,8,9]]
Array: [list([1,2,3,4,5,6]) list([7,8,9])]

может кто-нибудь мне помочь?

1 Ответ

0 голосов
/ 17 июня 2020

Вы расширяете весь список, а не первый элемент списка. Вы должны написать:

lst1[0].extend(lst2)

Что даст вам ваш результат:

list([list([1,2,3,4,5,6]) list([7,8,9])])

Однако ваши первые 2 оператора печати также должны быть:

print(len(lst1[0]))  # 5
print(len(lst1[1]))  # 3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...