logo

Pretvorite seznam Python v nize numpy

Seznam v Pythonu je linearna podatkovna struktura, ki lahko vsebuje heterogene elemente, ki jih ni treba deklarirati in so prilagodljivi za krčenje in rast. Po drugi strani pa je niz podatkovna struktura, ki lahko vsebuje homogene elemente. Nizi so implementirani v Pythonu z uporabo NumPy knjižnica. Matrike zahtevajo manj pomnilnika kot sezname . Podobnost med matriko in seznamom je v tem, da je elemente matrike in seznama mogoče prepoznati po vrednosti indeksa.

Primer



java izboljšana zanka
  Input:   [1, 7, 0, 6, 2, 5, 6]   Output:   [1 7 0 6 2 5 6]   Explanation:   Given Python List is converted into NumPy Array>

Pretvorite Python List v Numpy Arrays

noter Python , lahko sezname pretvorite v nize z uporabo dveh metod iz knjižnice NumPy:

  • Uporaba numpy.array()
  • Uporaba numpy.asarray()

Seznam Python v nize NumPy z uporabo numpy.array()

V Pythonu je najenostavnejši način za pretvorbo seznama v matriko NumPy z uporabo funkcije numpy.array(). Vzame argument in kot rezultat vrne matriko NumPy. Ustvari novo kopijo v pomnilniku in vrne novo matriko.

Python3








# importing library> import> numpy> # initializing list> lst>=> [>1>,>7>,>0>,>6>,>2>,>5>,>6>]> # converting list to array> arr>=> numpy.array(lst)> # displaying list> print> (>'List: '>, lst)> # displaying array> print> (>'Array: '>, arr)>

>

>

Izhod:

List: [1, 7, 0, 6, 2, 5, 6] Array: [1 7 0 6 2 5 6]>

Python Seznam v nize NumPy z uporabo numpy.asarray()

V Numpyju, numpy.asarray() je funkcija, ki pretvori vhodne podatke v matriko NumPy. Vzame argument in vrne matriko NumPy. Ne ustvari nove kopije v pomnilniku.

Python3




# importing library> import> numpy> # initializing list> lst>=> [>1>,>7>,>0>,>6>,>2>,>5>,>6>]> # converting list to array> arr>=> numpy.asarray(lst)> # displaying list> print> (>'List:'>, lst)> # displaying array> print> (>'Array: '>, arr)>

>

>

Izhod:

List: [1, 7, 0, 6, 2, 5, 6] Array: [1 7 0 6 2 5 6]>

Razlika med numpy.array() in numpy.asarray()

Bistvena razlika med zgornjima dvema metodama je, da bo numpy.array() naredil dvojnik izvirnega predmeta, numpy.asarray() pa bo zrcalil spremembe v izvirnem objektu. Ko je narejena kopija matrike z uporabo numpy.asarray(), bi se spremembe, narejene v eni matriki, odrazile tudi v drugi matriki, vendar ne prikaže sprememb na seznamu, s katerim je bila matrika narejena. Vendar se to ne zgodi z numpy.array().

Python3




# importing library> import> numpy> # initializing list> lst>=> [>1>,>7>,>0>,>6>,>2>,>5>,>6>]> # converting list to array> arr>=> numpy.asarray(lst)> # displaying list> print> (>'List:'>, lst)> # displaying array> print> (>'arr: '>, arr)> # made another array out of arr using asarray function> arr1>=> numpy.asarray(arr)> #displaying arr1 before the changes made> print>(>'arr1: '> , arr1)> #change made in arr1> arr1[>3>]>=> 23> #displaying arr1 , arr , list after the change has been made> print>(>'lst: '> , lst)> print>(>'arr: '> , arr)> print>(>'arr1: '> , arr1)>

>

>

Izhod:

List: [1, 7, 0, 6, 2, 5, 6] arr: [1 7 0 6 2 5 6] arr1: [1 7 0 6 2 5 6] lst: [1, 7, 0, 6, 2, 5, 6] arr: [ 1 7 0 23 2 5 6] arr1: [ 1 7 0 23 2 5 6]>

V arr in arr1 je sprememba vidna pri indeksu 3, ne pa tudi pri 1st.