O listă în Python este o structură de date liniară care poate conține elemente eterogene care nu necesită declarare și sunt flexibile pentru a se micșora și crește. Pe de altă parte, o matrice este o structură de date care poate conține elemente omogene. Matricele sunt implementate în Python folosind NumPy bibliotecă. Matricele necesită mai puțină memorie decât liste . Asemănarea dintre o matrice și o listă este că elementele atât ale matricei, cât și ale unei liste pot fi identificate prin valoarea sa de index.
Exemplu
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>
Convertiți lista Python în tablouri Numpy
În Piton , listele pot fi convertite în matrice folosind două metode din biblioteca NumPy:
- Folosind numpy.array()
- Folosind numpy.asarray()
Python List la NumPy Arrays folosind numpy.array()
În Python, cel mai simplu mod de a converti o listă într-o matrice NumPy este utilizarea funcției numpy.array(). Ia un argument și returnează o matrice NumPy ca rezultat. Acesta creează o nouă copie în memorie și returnează o nouă matrice.
Python3
fișier .tif
# 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)> |
>
>
Ieșire:
List: [1, 7, 0, 6, 2, 5, 6] Array: [1 7 0 6 2 5 6]>
Python List la NumPy Arrays folosind numpy.asarray()
În Numpy, numpy.asarray() este o funcție care convertește datele de intrare în matrice NumPy. Ia un argument și returnează o matrice NumPy. Nu creează o copie nouă în memorie.
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)> |
java cum se convertesc șirul în int
>
>
Ieșire:
care este sistemul de fișiere linux
List: [1, 7, 0, 6, 2, 5, 6] Array: [1 7 0 6 2 5 6]>
Diferența dintre numpy.array() și numpy.asarray()
Diferența vitală dintre cele două metode de mai sus este că numpy.array() va face o copie a obiectului original și numpy.asarray() va oglindi modificările din obiectul original. Când o copie a matricei este făcută folosind numpy.asarray(), modificările făcute într-o matrice vor fi reflectate și în cealaltă matrice, dar nu arată modificările din listă prin care se face matricea. Cu toate acestea, acest lucru nu se întâmplă cu 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)> |
>
>
Ieșire:
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]>
În arr și arr1 modificarea este vizibilă la indicele 3, dar nu în 1st.