У меня есть координаты точек, хранящиеся в 3-мерном массиве:
(UPD. На самом деле массив numpy
-приведен ndarray
, извините за путаницу в начальной версии)
a = [ [[11,12]], [[21,22]], [[31,32]], [[41,42]] ]
вы видите, что каждая пара координат хранится как вложенный двумерный массив, такой как [[11,12]]
, хотя я бы хотел, чтобы он был [11,12]
, т.е. мой массив должен иметь следующее содержимое:
b = [ [11,12], [21,22], [31,32], [41,42] ]
Таккак перейти с a
на b
форму?Сейчас мое решение состоит в том, чтобы создать список и затем преобразовать его в массив с numpy
:
b = numpy.array([p[0] for p in a])
Это работает, но я предполагаю, что должен быть более простой и понятный способ ...
UPD.Первоначально я пытался сделать простое понимание: b = [p[0] for p in a]
- но затем b
оказался списком, а не массивом - я предполагаю, что это потому, что исходный массив a
равен ndarray
из numpy