Вложенные списки в кортеже в numpy-массив без потери их размеров

#python #list #numpy #tuples

Вопрос:

Как превратить кортеж вложенных списков в один массив numpy без потери их размеров?

кортеж вложенных списков:

 ([[3,4],[3,4]],[[4,5]])  

результирующий numpy-массив должен быть:

 [[[3,4],[3,4]],[[4,5]]]  

Комментарии:

1. Вы не можете превратить его в массив, потому что первый подсписк содержит два элемента, а второй-только один. И если вы это сделаете np.array(my_tuple) , это будет просто массив объектов из того, что у вас уже есть.

Ответ №1:

 In [146]: np.array(([[3,4],[3,4]],[[4,5]])) lt;ipython-input-146-07d091c86adagt;:1: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray.  np.array(([[3,4],[3,4]],[[4,5]])) Out[146]: array([list([[3, 4], [3, 4]]), list([[4, 5]])], dtype=object)  

В результате получается единый массив, содержащий два списка, как указано (с сохранением их размеров). Чего еще ты хочешь?