Una llista a Python és una estructura de dades lineal que pot contenir elements heterogenis que no requereixen declarar-se i que són flexibles per reduir-se i créixer. D'altra banda, una matriu és una estructura de dades que pot contenir elements homogenis. Les matrius s'implementen a Python utilitzant el NumPy biblioteca. Les matrius requereixen menys memòria que llistes . La similitud entre una matriu i una llista és que els elements de la matriu i una llista es poden identificar pel seu valor d'índex.
Exemple
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>
Converteix la llista Python en matrius Numpy
En Python , les llistes es poden convertir en matrius mitjançant dos mètodes de la biblioteca NumPy:
- Utilitzant numpy.array()
- Utilitzant numpy.asarray()
Llista de Python a matrius NumPy utilitzant numpy.array()
A Python, la manera més senzilla de convertir una llista en una matriu NumPy és utilitzant la funció numpy.array(). Pren un argument i com a resultat retorna una matriu NumPy. Crea una nova còpia a la memòria i retorna una nova matriu.
Python 3
# 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)> |
>
>
Sortida:
List: [1, 7, 0, 6, 2, 5, 6] Array: [1 7 0 6 2 5 6]>
Llista de Python a matrius NumPy utilitzant numpy.asarray()
A Numpy, numpy.asarray() és una funció que converteix les dades d'entrada en matriu NumPy. Pren un argument i retorna una matriu NumPy. No crea una còpia nova a la memòria.
Python 3
itera el mapa en java
# 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)> |
>
>
Sortida:
List: [1, 7, 0, 6, 2, 5, 6] Array: [1 7 0 6 2 5 6]>
Diferència entre numpy.array() i numpy.asarray()
La diferència vital entre els dos mètodes anteriors és que numpy.array() farà un duplicat de l'objecte original i numpy.asarray() reflectirà els canvis a l'objecte original. Quan es fa una còpia de la matriu utilitzant numpy.asarray(), els canvis fets en una matriu també es reflectiran a l'altra matriu, però no mostra els canvis a la llista amb què es fa la matriu. Tanmateix, això no passa amb numpy.array().
Python 3
# 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)> |
>
>
Sortida:
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]>
En arr i arr1 el canvi és visible a l'índex 3 però no a 1r.