Список для перетворення масиву, щоб використовувати функцію ravel ()


109

У мене є список у python, і я хочу перетворити його в масив, щоб мати можливість використовувати ravel()функцію.


2
Будь ласка, спробуйте відповісти на запити щодо роз'яснень та покращити свої запитання замість того, щоб породжувати безліч не дуже хороших питань. Нарешті, уважно прочитайте цю відповідь . Я думаю, що це вирішує вашу велику проблему ...
jorgeca

Відповіді:


237

Використання numpy.asarray:

import numpy as np
myarray = np.asarray(mylist)

25
Власне, їх myarray = np.array(mylist)має вистачити.
fgb

11
добре, asarray, це безпечніше, оскільки він не копіює масиви, а просто повертає їх, тому корисно використовувати його, якщо тільки не переконатись, що буде копія оригінальних даних
EnricoGiampieri

1
@EnricoGiampieri, справедливо, але чи не потрібно вам вибирати з цього масив незалежно від того, що? Я думаю, я не дотримуюся того, як ви не отримали б жодної команди для створення нового об’єкта масиву.
fgb

обидві команди створять новий масив, починаючи зі списку, це точно, але часто справа полягає в перетворенні введення у певний формат, щоб застосувати певний метод, і це більше схоже на випадок ОП. використання asarray - це корисна звичка, якщо не буде певного, що потрібна нова копія. arrayдостатньо просто набрати текст , але чому ми не можемо навчити ОП якоюсь доброю звичкою, поки ми тут?
EnricoGiampieri

Я просто хотів сказати, що @fgb запропонував адекватне рішення. функція ".asarray" повертає об'єкт numpy, тоді як ".array повертає вам масив безпосередньо. У будь-якому випадку, дякую обом, хлопці!
Адріан Ґрізвачевський

7

створити масив int та список

from array import array
listA = list(range(0,50))
for item in listA:
    print(item)
arrayA = array("i", listA)
for item in arrayA:
    print(item)

що означає «я»? і що це повинно бути для str?
Dany Y

6

Я хотів, щоб це зробити без використання додаткового модуля. Спочатку виворіть список до рядка, а потім додайте до масиву:

dataset_list = ''.join(input_list)
dataset_array = []
for item in dataset_list.split(';'): # comma, or other
    dataset_array.append(item)

Неможливо відредагувати помилку: перший рядок має бутиdataset_list = ';'.join(input_list)
Алекс Пока

2

Якщо все, що вам потрібно, дзвонить ravelу ваш список (вкладене, я готова?), Ви можете це зробити безпосередньо, numpyзробить кастинг для вас:

L = [[1,None,3],["The", "quick", object]]
np.ravel(L)
# array([1, None, 3, 'The', 'quick', <class 'object'>], dtype=object)

Варто також відзначити , що ви не повинні пройти numpyвзагалі .


-1

Використовуйте наступний код:

import numpy as np

myArray=np.array([1,2,4])  #func used to convert [1,2,3] list into an array
print(myArray)

-13

якщо змінна b має список, то ви можете просто зробити наступне:

створити нову змінну "a" як: a=[] потім призначити список "a" як:a=b

тепер "a" містить усі компоненти списку "b" в масиві.

тому ви успішно перетворили список в масив.


8
Власне, ні ... це абсолютно неправильно. Все, що у вас буде, - це дві змінні, що вказують на той самий список, а не масивний масив.
Ajean
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.