2016-08-28 2 views
2

У меня есть список, как:У меня есть вложенный список, но я хочу, чтобы добавить вложенный список внутри вложенного списка

[[21, 32, 32], [23, 34, 32], [32, 34, 57]] 

Я хотел бы преобразовать каждый номер в своем собственном списке, как

[[[21], [32], [32]], [[23], [34], [32]], [[32], [34], [57]]] 

Как мне это сделать?

Спасибо!

+2

'[[[х] для х в sub_lst] для sub_lst в LST]' – Delgan

+0

Что вы пробовали? SO не является службой записи кода. Отправьте пример кода, который вы пробовали, который не работает в первую очередь. –

ответ

1

Используйте список понимание:

>>> lst = [[21, 32, 32], [23, 34, 32], [32, 34, 57]] 
>>> new_lst = [[[i] for i in sub_lst] for sub_lst in lst] 
>>> new_lst 
[[[21], [32], [32]], [[23], [34], [32]], [[32], [34], [57]]] 

Вы можете также использовать numpy, просто добавив дополнительную ось с помощью np.newaxis в то время как нарезка ваш массив:

>>> import numpy as np 
>>> l = np.array([[21, 32, 32], [23, 34, 32], [32, 34, 57]]) 
>>> l[:, :, np.newaxis] # or l[:, :, None] 
array([[[21], 
     [32], 
     [32]], 

     [[23], 
     [34], 
     [32]], 

     [[32], 
     [34], 
     [57]]]) 
1

Здесь метод с использованием numpy.reshape():

import numpy as np 
arr = np.array([[21, 32, 32], [23, 34, 32], [32, 34, 57]]) 

arr.reshape(3,3,1) 

# array([[[21], 
#   [32], 
#   [32]], 

#  [[23], 
#   [34], 
#   [32]], 

#  [[32], 
#   [34], 
#   [57]]]) 
+0

Спасибо вам большое, сэр! –

0

Метод с использованием списка понимание:

a = [[21, 32, 32], [23, 34, 32], [32, 34, 57]] 

print [[[element] for element in each] for each in a] 

Выход:

[[[21], [32], [32]], [[23], [34], [32]], [[32], [34], [57]]] 
Смежные вопросы