Konverter Python List til numpy Arrays

En liste i Python er en lineær datastruktur som kan inneholde heterogene elementer som ikke trenger å bli deklarert og som er fleksible for å krympe og vokse. På den annen side er en matrise en datastruktur som kan inneholde homogene elementer. Arrays er implementert i Python ved hjelp av NumPy bibliotek. Arrays krever mindre minne enn lister . Likheten mellom en matrise og en liste er at elementene i både matrise og en liste kan identifiseres ved dens indeksverdi.

Eksempel

  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 

Konverter Python List til Numpy Arrays

I Python , kan lister konverteres til matriser ved å bruke to metoder fra NumPy-biblioteket:

  • Bruker numpy.array()
  • Ved hjelp av numpy.asarray()

Python-liste til NumPy-arrayer ved hjelp av numpy.array()

I Python er den enkleste måten å konvertere en liste til en NumPy-matrise ved å bruke funksjonen numpy.array(). Det tar et argument og returnerer en NumPy-matrise som et resultat. Den lager en ny kopi i minnet og returnerer en ny matrise.

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)>

Produksjon:

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

Python List til NumPy Arrays ved hjelp av numpy.asarray()

I Numpy, numpy.asarray() er en funksjon som konverterer inndata til NumPy-array. Det tar et argument og returnerer en NumPy-matrise. Den lager ikke en ny kopi i minnet.

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)>

Produksjon:

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

Forskjellen mellom numpy.array() og numpy.asarray()

Den avgjørende forskjellen mellom de to metodene ovenfor er at numpy.array() vil lage en duplikat av det opprinnelige objektet og numpy.asarray() vil speile endringene i det opprinnelige objektet. Når en kopi av matrisen lages ved å bruke numpy.asarray(), vil endringene som er gjort i en matrise også reflekteres i den andre matrisen, men viser ikke endringene i listen som hvis matrisen er laget. Dette skjer imidlertid ikke med 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)>

Utgang:

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] 

I arr og arr1 er endringen synlig ved indeks 3, men ikke i 1.