Свести список чисел с плавающей точкой и массивов - PullRequest
0 голосов
/ 24 апреля 2019

У меня есть следующий list экземпляр:

import numpy as np
l = [4.0, 0.0, np.array([0.0, 1.0, 2.0, 3.0, -3.0, -2.0, -1.0]), np.array([2.0, 4.0, 0.0])]

Не слишком ли сложно получить единый список следующих значений:

[4.0, 0.0, 0.0, 1.0, 2.0, 3.0, -3.0, -2.0, -1.0, 2.0, 4.0, 0.0]

т.е. сплющенный список.

Спасибо за любую помощь здесь.

Ответы [ 2 ]

3 голосов
/ 24 апреля 2019

Попробуйте np.hstack(l), который горизонтально складывает одномерные массивы, списки (итерируемые) и скаляры.https://docs.scipy.org/doc/numpy/reference/generated/numpy.hstack.html

0 голосов
/ 24 апреля 2019

Вы можете попытаться использовать ndarray.tolist() для преобразования массивов в список объектов, а затем добавить их в список, например:

a1 = np.array([0,1,2,3])
l1 = [-2,-1]

a1_list = a1.tolist()
l1.extend(a1_list)

Вернет плоский список от -2 до 3.в случае, если вы хотите, чтобы элементы были в объекте списка, но объект массивов в большинстве случаев предпочтительнее для работы с числами.

...