Publicitate
Schițele și listele sunt unele dintre cele mai utile structuri de date în programare - deși puține persoane le folosesc cu adevărat la potențialul lor maxim. Astăzi vă voi vorbi prin elementele de bază, împreună cu câteva exemple simple Python.
Cerințe preliminare
Nu trebuie să știi prea multe din timp pentru a învăța aceste concepte. O cunoștință de bază despre paradigme de programare și Python va fi utilă, dar nu este necesară. Citiți-ne exemple de bază Python 10 exemple Python de bază care vă vor ajuta să învățați rapidAcest articol al exemplelor de bază piton este pentru cei care au deja o experiență de programare și doresc pur și simplu să treacă la Python cât mai repede posibil. Citeste mai mult dacă nu știi de unde să începi. Dacă credeți că Python este o limbă inutilă, consultați-ne motivele pentru care nu este 5 motive pentru care programarea Python nu este inutilăPython - O iubești, ori o urăști. S-ar putea să te învârti chiar de la un capăt la celălalt ca un pendul. Indiferent, Python este un limbaj greu de ambivalent. Citeste mai mult .
În timp ce următoarele idei fundamentale pot fi aplicate oricărei limbi, voi demonstra exemplele din Python. Este un limbaj ușor de învățat și oferă o platformă excelentă pentru a înțelege ce se întâmplă. In plus, tutorialspoint.com oferă un excelent interpret Python online - nici nu trebuie să instalați Python dacă nu doriți (dacă o faceți, verificați ghidul nostru pentru medii virtuale Aflați cum să utilizați mediul virtual PythonIndiferent dacă sunteți un dezvoltator Python cu experiență sau abia începeți, învățarea cum să configurați un mediu virtual este esențială pentru orice proiect Python. Citeste mai mult ).
Structuri de date
Ce este a structură de date? La nivelul său de bază, o structură de date este o modalitate de stocare eficientă a datelor. Este ușor de confundat, deoarece structurile de date nu sunt tipuri de date. Tipurile de date spun compilatorului (sau în cazul lui Python interpretul) modul în care datele sunt destinate să fie utilizate. Structurile de date specifică operațiunile care pot fi efectuate și adesea implementează reguli și regulamente specifice.
Poate ai auzit de unii liniar tipuri de date (elementele sunt secvențiale):
- mulțime
- Matrice
- Tabelul de căutare
În mod similar, liste conțin adesea reguli și metode pentru a reglementa modul de funcționare. Câteva liste comune sunt:
- Lista legată
- Lista dublă legată
- Array List sau Array Dynamic
Există o multitudine de structuri de date diferite. Poate ai auzit de arbori binari, grafice, sau hashes. Voi discuta elementele de bază astăzi, dar poate doriți să aflați mai multe odată ce vă simțiți confortabil.
mulțime
Să începem la început. Un tablou este o colecție simplă de valori (înrudite). Aceste valori sunt numite elemente. De obicei, pot fi orice tip de date care vă plac, inclusiv obiecte sau alte liste! Principala atenție cu tablouri este că toate datele trebuie să fie aceleași - nu puteți stoca șiruri mixte și întregi. Tu aproape trebuie să specificați întotdeauna câte elemente doriți să stocați. Dimensiune variabilă sau tablouri dinamice există, dar matricile cu lungime fixă sunt mai simple.
Python complică oarecum lucrurile. Face lucrurile foarte ușor pentru tine, dar nu se leagă întotdeauna de definițiile stricte ale structurilor de date. Majoritatea obiectelor din Python sunt de obicei liste, deci crearea unui tablou este de fapt mai multă muncă. Iată câteva coduri de început:
dintr-un tablou de import. numere = tablou ('i', [2, 4, 6, 8]) imprima numere [0]
Prima linie importă mulțime modul - care este necesar să funcționeze cu tablouri. A doua linie creează un nou tablou numit numerele și îl inițializează cu valorile 2, 4, 6 și 8. Fiecare element i se atribuie un întreg valoare numită a cheie sau index. Cheile încep de la zero, asa de Numerele [0] va accesa primul element (2):

Este posibil să vă întrebați ce „I“ este folosit pentru. Acesta este un COD TIP asta indică Python că tabloul va stoca numere întregi. Acest lucru nu ar fi necesar în mod normal în Python (ar fi considerat „nepionic”). Motivul pentru asta este simplu. Schițele din Python sunt un înveliș foarte subțire pe matricele C de bază ale sistemului dvs. de operare. Acest lucru înseamnă că sunt rapide și stabile, dar este posibil să nu respecte întotdeauna sintaxa Python.
Nu puteți stoca tipuri mixte în aceste tablouri. Spuneți că ați dorit să stocați șirul „makeuseof.com”:
numbers = array ('i', [2, 4, 6, "makeuseof.com"])
Acest lucru nu va fi permis și va arunca o excepție:

Iată cum puteți tipări toate elementele:
imprima numere

Această metodă de accesare a elementelor matrice funcționează bine și este perfectă pentru sarcina potrivită. Ceea ce nu este bine este accesarea întregului tablou. Programatorii sunt în mod leneș, așa că voi scrie cu bucurie mai multe coduri mai bune, dacă înseamnă că pot ușura întreținerea și reduc efortul de copiere și lipire.
Fiecare limbaj de programare va implementa o buclă de un fel, care sunt perfecte pentru a itera (bucla) peste elementele listei. Cele mai comune bucle sunt in timp ce și pentru. Python ușurează lucrurile oferind un căci în buclă:
pentru număr în numere: număr de imprimare
Observați cum nu a trebuit să accesați elemente prin cheia lor. Acesta este un mod mult mai bun de a lucra cu un tablou. O modalitate alternativă de a itera peste o listă este cu un pentru buclă:
pentru i în interval (len (numere)): imprimați numere [i]
Acest lucru face exact același lucru ca și exemplul precedent, deși ați trebuit să specificați numărul de elemente din tablă (len (mașini)), împreună cu trecerea eu ca cheie a tabloului. Acesta este aproape exact codul care căci în bucle aleargă. Acest mod oferă ceva mai multă flexibilitate și este puțin mai rapid (deși căci în buclele sunt mai mult decât destul de rapide majoritate din timp.)
liste
Acum că știți cum funcționează tablourile, să ne uităm la o listă. Poate fi confuz uneori, deoarece oamenii folosesc o terminologie diferită în mod interschimbabil și liste sunt tablouri... un fel de.
O listă este un tip special de tablou. Cea mai mare diferență este că listele pot conține amestecat tipuri (amintiți-vă, matricile trebuie să conțină elemente de același tip). Listele sunt foarte ușoare în Python:
automobile = ['Ford', 'Austin', 'Lancia']
Observați cum nu este necesar să importați mulțime modul?
Această sintaxă declară o listă numită mașini. În interiorul parantezelor pătrate, fiecare element al listei este declarat. Fiecare element este separat de o virgulă și, întrucât fiecare element este un șir, le declarați în ghilimele. Python știe că acesta este un obiect, deci imprimare declarația va scoate conținutul listei:
imprima masini

La fel ca în cazul tabloului, puteți itera elementele de listă cu ajutorul buclelor:
pentru mașină în mașini: mașină de tipar

Adevăratul truc al partidelor din liste este tipul lor mixt. Continuați și adăugați câteva date suplimentare:
automobile = ['Ford', 'Austin', 'Lancia', 1, 0,56]
Aceasta nu este nicio problemă pentru Python - nici măcar nu a ridicat o excepție:

Este ușor să adăugați elemente noi într-o listă (ceea ce nu este posibil cu matricile):
automobile = ['Ford', 'Austin'] imprima masini. cars.append ( 'Lancia') imprima masini

De asemenea, puteți îmbina două liste într-una:
automobile = ['Ford', 'Austin'] imprima masini. other_cars = ['Lotus', 'Lancia'] mașini.extend (alte_cars) imprima masini

Este la fel de ușor să elimini elemente folosind funcția elimina sintaxă:
automobile = ['Ford', 'Austin', 'Lotus', 'Lancia'] imprima masini. cars.remove ( 'Ford') imprima masini

Aceasta se referă la elementele de bază ale listelor și tablourilor din Python. De ce nu luați în considerare un proiect de codificare, cum ar fi citirea și scrierea pe foi de calcul Google Cum să citiți și să scrieți în fișele Google cu PythonPython poate părea ciudat și neobișnuit, cu toate acestea este ușor de învățat și utilizat. În acest articol, vă voi arăta cum puteți citi și scrie pe foile Google folosind Python. Citeste mai mult , citirea datelor json Cum să obțineți Python și JavaScript pentru a comunica folosind JSONAstăzi vă voi arăta cum să utilizați JSON pentru a trimite date de la JavaScript către Python. Voi acoperi modul de configurare a unui server web, împreună cu tot codul de care aveți nevoie. Citeste mai mult . Poate că îți poți pune noile abilități pentru a folosi unele butoane de comenzi rapide personalizate Creează-ți propriile butoane de comenzi rapide cu un ArduinoUmilul Arduino poate face multe lucruri, dar știai că poate emula o tastatură USB? Puteți combina comenzile rapide de la tastatură într-o singură tastă rapidă personalizată, cu acest circuit simplu. Citeste mai mult . În ciuda faptului că sunt un limbaj de programare diferit, aceste principii de matrice se aplică în continuare.
Ați învățat ceva nou? Ți-ar plăcea să vezi un conținut mai complicat? Spuneți-ne gândurile în comentariile de mai jos!
Joe este absolvent în informatică de la Universitatea din Lincoln, Marea Britanie. Este un dezvoltator de software profesionist, iar atunci când nu zboară drone sau scrie muzică, poate fi găsit adesea făcând fotografii sau producând videoclipuri.