Bolaji
Bolaji

Follow

6 mai, 2018 – 3 min citește

Câteva zile în urmă, lucram la un proiect Python și a trebuit să mă folosesc de liste. Am creat o listă goală și am numit-ocost_array. Un prieten a văzut acest lucru și a pus întrebarea:

„Care este diferența dintre o listă și un array?”

Am început să meditez pentru că până acum am considerat întotdeauna datele de tip ca fiind liste în Python și array-uri în Javascript. Aparent, un Array este un tip de date și în Python, ceea ce înseamnă că avem tipul array și tipul list (tipul listă fiind mai popular). Cei mai mulți oameni ajung să folosească array-uri atunci când se aventurează în Data Science și folosesc biblioteci precum numpy. Array-urile sunt adevăratul cal de bătaie al structurilor de date pentru aplicațiile științifice și inginerești. Cel mai popular tip de array folosit în Python este array-ul numpy.

  • Ambele sunt folosite pentru stocarea datelor
  • Ambele sunt mutabile
  • Ambele pot fi indexate și iterate prin
  • Ambele pot fi feliate

Diferențe

Principala diferență între aceste două tipuri de date este operația pe care o puteți efectua asupra lor. Array-urile sunt optimizate în mod special pentru calcule aritmetice, astfel încât, dacă aveți de gând să efectuați operații similare, ar trebui să luați în considerare utilizarea unui array în loc de o listă.

De asemenea, listele sunt containere pentru elemente care au tipuri de date diferite, dar array-urile sunt folosite ca și containere pentru elemente de același tip de date.

Exemplul de mai jos este rezultatul împărțirii unui array la un anumit număr și al efectuării aceluiași lucru pentru o listă. Când încercăm aceeași operație (exemplu: împărțire) pe o listă, obținem o eroare de tip TypeError deoarece listele integrate în python nu suportă protocolul `__div__`. Este nevoie de un pas în plus pentru a efectua acest calcul pe o listă, deoarece atunci ar trebui să parcurgeți în buclă fiecare element unul după altul și să salvați într-o altă listă.

Stres!!!

.

Articles

Lasă un răspuns

Adresa ta de email nu va fi publicată.