Python Array vs. Listă: diferențe și cazuri de utilizare

Publicat: 2021-11-03

Python a câștigat avantajul asupra altor limbi în știința datelor în ultimii ani, iar structurile sale de date joacă un rol vital. Python are un set mare de structuri de date, printre care matricea și lista sunt cele mai populare despre care vom discuta astăzi.

Matricele și listele sunt două structuri de date proeminente în Python care sunt similare în multe aspecte. Ambele pot fi folosite pentru a stoca date și ne permit să le repetăm, să le tăiem și chiar să accesăm elementele lor utilizând metoda de indexare. Atunci care este diferența dintre listă și matrice în Python? Ei bine, despre asta vom discuta în acest articol.

Cuprins

Matrice în Python

O matrice este o structură de date adiacentă care conține elemente omogene, adică elementele care aparțin aceluiași tip de date.

Următoarele sunt caracteristicile majore prezentate de matrice în Python:

  • Natura contiguă a matricei permite ca datele să fie stocate în locații de memorie adiacente. Acest lucru facilitează efectuarea operațiunilor pe elementele matricei.
  • O matrice în Python poate fi declarată în două moduri:
    • Folosind modulul matrice

import array # import modulul 'array'

myArray = array.array('i', [10, 20, 30]) # declarație matrice

# matrice creată: [10, 20, 30]

Notă: În declarația de mai sus, este necesar să specificați codul de format. Aici, „i” este un cod de format care înseamnă întreg.

  • Folosind modulul NumPy

import numpy # import modulul 'numpy'

myArray = numpy.array([10, 20, 30]) # declarație matrice

# matrice creată: [10, 20, 30]

  • Elementele matricei sunt ordonate . Fiecare element are asociat un index întreg. De exemplu, în arr[10, 20, 30], „10”, „20” și „30” sunt stocate la indicii 0, 1 și, respectiv, 2 în memorie.

Notă: indexarea matricei în Python începe de la 0.

  • O matrice poate conține numai valori de același tip, adică elemente omogene . De exemplu,

arr[1, 2, 3]

arr['a', 'b', 'c']

O matrice în Python este în general folosită pentru a stoca o listă de articole similare. Un caz de utilizare real al unui afișaj poate fi stocarea prețurilor acțiunilor unui anumit stoc pentru o serie de zile. Prețul de închidere al acțiunii rămâne intact pentru un anumit stoc și o anumită zi. Aceasta înseamnă că stocarea unor astfel de detalii într-o structură de date imuabilă, cum ar fi o matrice, are mult mai mult sens.

De fapt, matricele NumPy sunt utilizate în general pentru a stoca date din seturi mari de date în știința datelor și învățarea automată. Fiecare matrice NumPy corespunde unei caracteristici dintr-un set de date.

Liste în Python

O listă este unul dintre cele patru containere sau structuri de date încorporate acceptate în Python. Unul dintre avantajele majore ale utilizării listelor este că o singură listă poate conține valori ale mai multor tipuri de date.

Următoarele sunt caracteristicile majore prezentate de liste în Python:

  • Listele sunt mai flexibile în ceea ce privește stocarea datelor. Ele pot conține date eterogene , adică elemente de diferite tipuri. De exemplu,

[1, „bună ziua”, [“x”, „y”]]

  • Listele sunt, de asemenea , ordonate , iar elementele stocate într-o listă pot fi accesate folosind indicii acestora. Indicii negativi pot fi folosiți pentru a accesa un element de la sfârșitul listei. De exemplu.,

myList = [20, 40, „bună ziua”, „lumea”]

# imprimarea ultimului element

print(Lista mea[-2])

Ieșire

  • Listele pot fi ușor modificate după inițializarea listei. Pentru a modifica orice valoare, accesați-o folosind indexul elementului.

mașini = [„Ford”, „Tesla”, „Jaguar”]

mașini[2] = „BMW”

  • Listele multidimensionale pot fi implementate și în Python folosind conceptul de liste imbricate. Aceste liste multidimensionale pot fi folosite ca matrice multidimensionale în Python.

myArr = [[1, 2], [3, 4]]

# creat un tablou 2-d:

# |1, 2|

# |3, 4|

Un caz de utilizare real al unei liste eterogene multidimensionale în Python poate fi stocarea unui set de detalii despre produs, cum ar fi tipul produsului, categoria, prețul de cost, prețul de vânzare etc. Fiecare listă dintr-o astfel de listă multidimensională reprezintă un produs. Deoarece listele sunt modificabile, devine mai ușor să schimbăm detaliile produsului oricând dorim.

Dacă sunteți un dezvoltator Python aspirant, acoperirea diferențelor de bază dintre matrice și listă în Python este un aspect cheie. Deci, fără alte prelungiri, să trecem direct la o descriere tabelară a Python Array vs. List.

Cunoașteți diferența dintre matrice și listă în Python

Python Array vs List : Cine este câștigătorul?

PARAMETRU

LISTĂ ARRAY

Declaraţie

Listele nu trebuie declarate deoarece sunt încorporate în Python.

lista = [ 10 , 20 , 30 ]

Trebuie să importați un modul de matrice sau o bibliotecă NumPy pentru a declara o matrice.

my_arr_1 = array.array( 'i' , [ 10 , 20 , 30 ])

Tip de date

O singură listă poate conține valori care aparțin diferitelor tipuri de date.

myList = [ 40 , „bună ziua” , „m” ]

Toate elementele unui tablou ar trebui să fie de același tip de date.

myArr = arr.array(i, [ 1 , 0 , 9])

mărimea

Lista Python este redimensionabilă deoarece, în timpul inițializării listei, Python inițializează unele elemente suplimentare. Matricele au o dimensiune constantă care nu poate fi modificată.

Spaţiu/

Memorie

Consumă spațiu și memorie mai mare pentru adăugarea sau eliminarea elementelor.

Stochează datele într-un mod mai compact.

Stocare a datelor

De preferat pentru stocarea unei cantități mici de date.

Preferat pentru stocarea unei cantități mari de date

Operații matematice

Nu poate fi folosit direct pentru operații matematice.

Elementele matricei pot fi ușor manipulate folosind operații matematice avansate.

Afișează date

Elementele unei liste pot fi afișate fără buclă

lista_mea = [ 1 , „Dennis” ,[ 'a' , 'b' ]]

print(lista_mea)

Trebuie să fie necesară o buclă pentru ca elementele unui tablou să fie afișate.

matrice de import

my_Arr = array.array( 'i' , [ 1 , 2 , 3 ])

pentru eu în my_Arr:

imprimare (eu)

Python Array vs List : Cine este câștigătorul?

Dacă citiți această secțiune, înseamnă că acum sunteți destul de familiarizat cu diferența dintre listă și matrice în Python. Cu toate acestea, ar trebui să știți și când să utilizați Array sau List în programul dvs.

Această secțiune discută diferitele circumstanțe în care trebuie să alegeți cea mai potrivită structură de date dintre acestea două.

Tipul elementelor

Dacă tipul de date nu este predeterminat, există o colecție de date aparținând mai multor tipuri. De exemplu, pentru a stoca înregistrarea studenților care au entități precum nume(șir) , ID(întreg) și marks(float) , o listă este o alegere preferată.

Dacă datele de stocat aparțin aceluiași tip de date, atunci o matrice sau o listă poate fi preferată aici. Alegerea va depinde apoi de alți parametri, cum ar fi dimensiunea datelor, operațiunile de efectuat și utilizarea.

Consum de memorie

Consumul de memorie în liste este mai mult deoarece este alocat un spațiu suplimentar în timpul inițializării listei. Dacă colectarea de date este relativ mai mică, atunci o listă este o alegere eficientă aici.

Sursa imagine: webcourses@UCF

Matricele sunt potrivite pentru stocarea unor cantități mari de date, deoarece consumul de memorie al matricelor este mai eficient decât listele.

Sursa imagine: webcourses@UCF

Operațiuni suportate

Dacă datele dvs. nu necesită operații aritmetice, atunci o listă poate fi o alegere mai bună, deoarece acceptă funcții încorporate mai bune pentru manipularea datelor.

Pe de altă parte, tablourile ar trebui să fie folosite atunci când trebuie efectuate operații matematice. Modulul NumPy acceptă multe operații matematice avansate, inclusiv trigonometrie și operații logaritmice.

Modul de importat

O listă poate fi declarată fără importarea vreunui modul sau bibliotecă. Poate fi definită la fel ca o variabilă obișnuită, deoarece este o structură de date încorporată în Python.

Cu toate acestea, matricea nu este unul dintre containerele implicite ale Python. Există două module cele mai populare - array și NumPy . Fiecare modul vine cu câteva funcții predefinite pentru a manipula și gestiona datele stocate în matrice.

Concluzie

Acest articol a acoperit toate subiectele necesare pentru a vă oferi o înțelegere perspicace a diferenței dintre matrice și listă în Python. Am discutat, de asemenea, diferitele cazuri de utilizare în care o listă sau o matrice este potrivită.

Dacă doriți să vă începeți călătoria în Data Science, atunci înscrieți-vă la UpGrad Data Science curs azi. Consultați colecția extinsă de cursuri pe upGrad pentru a-ți începe cariera.

Când să utilizați o matrice peste o listă în Python?

Matricea Python este preferată față de o listă în diferite scenarii:

1. Deoarece matricea din Python este mai compactă și consumă mai puțină memorie decât o listă, este de preferat să folosiți o matrice atunci când trebuie stocată o cantitate mare de date.
2. Nu este necesar să folosiți o listă pentru a stoca datele atunci când toate elementele sunt de același tip de date și, prin urmare, o matrice va fi mai eficientă aici.
3. Datele stocate într-o matrice pot fi ușor manipulate matematic, în timp ce acest lucru este destul de incomod cu o listă.

Care este mai rapid între matrice și listă în Python?

O matrice este mai rapidă decât o listă în python, deoarece toate elementele stocate într-o matrice sunt omogene, adică au același tip de date, în timp ce o listă conține elemente eterogene.

Mai mult, tablourile Python sunt implementate în C, ceea ce îl face mult mai rapid decât listele care sunt încorporate în Python însuși.

Când este o listă mai potrivită pentru stocarea datelor în Python?

Lista Python are o mare importanță în stocarea datelor și poate fi utilizată în mai multe cazuri:

1. Când aveți diverse elemente de diferite tipuri de date, le puteți stoca într-o listă și puteți accesa aceste elemente prin simpla referire la indicii lor.
2. O listă poate fi, de asemenea, redimensionată. Prin urmare, o listă este utilă atunci când nu ești sigur de numărul de elemente.
3. Listele sunt foarte preferabile atunci când este necesară stocarea unei cantități mici de date, deoarece funcțiile încorporate ale listei sunt destul de convenabile pentru manipularea datelor.