0% au considerat acest document util (0 voturi)
171 vizualizări16 pagini

Liste Python

Documentul prezintă tipurile de date Python și modul de utilizare a listelor în Python. Listele permit stocarea mai multor valori sub forma unei singure variabile și oferă metode de extragere, tăiere și manipulare a elementelor.

Încărcat de

preda andrei
Drepturi de autor
© © All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
171 vizualizări16 pagini

Liste Python

Documentul prezintă tipurile de date Python și modul de utilizare a listelor în Python. Listele permit stocarea mai multor valori sub forma unei singure variabile și oferă metode de extragere, tăiere și manipulare a elementelor.

Încărcat de

preda andrei
Drepturi de autor
© © All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
Sunteți pe pagina 1/ 16

Liste Python

Tipuri de date Python


În privința numerelor, există float, pentru a reprezenta un număr float, și int, pentru a
reprezenta un număr întreg. În continuare, avem și str, prescurtare pentru șir pentru a
reprezenta text în Python și bool, care poate fi adevărat sau fals.

Putem salva aceste valori ca variabilă, așa cum arată aceste exemple. Fiecare variabilă
reprezintă apoi o singură valoare.

Vom dori adesea să lucrăm cu mai multe date. Dacă, de exemplu, dorim să măsurăm
înălțimea tuturor din familia și să stocami aceste informații în Python, ar fi incomod să
creăm o nouă variabilă Python pentru fiecare valoare pe care o colectăm. Ceea ce
putem face în schimb, este să stocăm toate aceste informații într-o listă Python.
Problema

Solutia - Liste Python


Putem construi o listă cu paranteze drepte. Să presupunem că le-am cerut surorilor și
părinților înălțimea în metri. Putem construi lista urmand exemplul de mai jos.

Această structură de date poate fi considerată o variabilă. Pur și simplu punem numele
variabilei și semnul egal în față.

O listă este o modalitate de a da un singur nume unei colecții de valori. Aceste valori,
sau elemente, pot avea orice tip; pot fi float, integer, boolean, șiruri, dar și tipuri mai
avansate de date Python, chiar și alte liste. Este posibil ca o listă să conțină și diferite
tipuri de date.
Să presupunem, de exemplu, că dorim să adăugăm în listă numele surorilor și ale
părinților astfel încât să știm ce înălțime are fiecare. Listele pot conține și liste în sine.

În loc să punem șirurile între numere, putem crea mici subliste pentru fiecare membru al
familiei. Unul pentru Liz, unul pentru Emma și așa mai departe. Acum, îi putem indica lui
Python că aceste subliste sunt elementele unei alte liste, pe care am numit-o fam2:
Listele mici sunt plasate între paranteze drepte și separate prin virgule. Dacă vizualizam
acum fam2, vedem că avem o listă de liste. Lista principală conține 4 subliste. Avem
de-a face cu un nou tip de date Python, pe lângă șiruri, valori booleene, numere întregi
și float despre care știm deja.

Tipuri de liste
În apelările de mai jos vedem că atât fam, cât și fam2 sunt liste. Fiecare tip de date are
asociate funcționalități și comportamente specifice. Pentru liste, acest lucru este de
asemenea adevărat. Listele Python au o mulțime de instrumente pentru a le subseta și
adapta. Dar să o luăm pas cu pas:
Extragerea listelor
După ce am creat propria listă Python, va trebui să învățăm cum putem accesa
informațiile din listă.

Python folosește indexarea pentru accesarea elementelor listei.

Primul element din listă are indicele 0, al doilea element are indicele 1 și așa mai
departe. Să presupunem că dorim să selectăm înălțimea Emmei (float 1.68). Este al
patrulea element, deci are indexul 3. Pentru a-l selecta, folosim 3 între paranteze
pătrate.
În mod similar, pentru a selecta șirul „dad” din listă, care este al șaptelea element din
listă, va trebui să punem indexul 6 între paranteze pătrate.

De asemenea, putem număra invers, folosind indexarea negativa. Acest lucru este util
dacă dorim să obținem elemente de la sfârșitul listei. Pentru a obține înălțimea tatălui
tău, de exemplu, vom folosi index -1.

Aceasta înseamnă că ambele linii returnează exact același rezultat.


Exemplu de indexare pozitiva si negativa

Taierea (subsetarea) listelor - Slicing


În afară de indexare, există și tăiere sau feliere sau subsetare (slicing), care ne permite
să selectam mai multe elemente dintr-o listă, creând astfel o nouă listă. Putem face
acest proces specificând un interval, folosind două puncte de index.

Mai întâi să aruncăm o altă privire la listă și apoi să încercăm această bucată de cod.

Apare o listă cu float 1.68, șirul „mom” și float 1.71, corespunzătoare celui de-al 4-lea, al
5-lea și al 6-lea element din listă ? Să vedem care este rezultatul.
Aparent, doar elementele cu indexul 3 și 4 sunt returnate. Elementul cu index 5 nu este
inclus.

În general, aceasta este sintaxa: indexul pe care îl specificam înainte de două puncte,
deci unde începe selecția, este inclus, în timp ce indexul pe care îl specificam după
două puncte, unde se termină selecția, este omis. Având în vedere acest lucru, putem
deduce ce va returna această apelare?

Oferă o listă cu trei elemente, corespunzătoare elementelor cu indicele 1, 2 și 3 din lista


fam.

De asemenea, putem alege să omitem indexul înainte sau după două puncte.

Dacă omitem indexul unde ar trebui să înceapă selecția, îi spunem lui Python să
înceapă felia de la indexul 0, ca în acest exemplu:
Dacă omitem indexul unde ar trebui să se încheie selecția, includem toate elementele
până la ultimul element din listă, ca in acest exemplu:

Continuați să lucrați la lista pe care v-ați creat-o înainte. Folosiți diferite metode de
slicing pentru a obține exact informația de care aveți nevoie!

Manipularea listelor
După crearea și tăierea listelor, ultima piesă a puzzle-ului listelor Python este
manipularea. Manipularea listelor reprezinta modalități de a schimba elemente din lista,
a adăuga elemente in lista și de a elimina elemente din listă.
Modificarea elementelor din lista este destul de simplă. Folosim aceleași paranteze
pătrate pe care le-am folosit pentru a subseta liste și apoi îi atribuim elemente noi
folosind semnul egal.

Să presupunem că după o altă privire asupra fam, observam că înălțimea tatălui tău nu
mai este la zi, deoarece se micșorează odată cu vârsta. În loc de 1.89 metri, ar trebui
să fie 1.86 metri. Pentru a schimba acest element de listă, care se află la indexul 7,
putem folosi această linie de cod:

Dacă verificăm lista fam, observăm că valoarea este actualizată:

Putem chiar să schimbăm o porțiune întreagă de listă simultan. Pentru a schimba


elementele „liz” și 1.73, accesam primele două elemente cu [0:2], apoi îi atribuim o nouă
listă:
Adaugarea elementelor in lista. Ne amintim diferenta operatorului plus (+) pentru
șiruri și numere întregi. Este din nou diferit pentru liste. Dacă utilizam semnul plus cu
două liste, Python pur și simplu lipește conținutul acestora într-o singură listă. Să
presupunem că dorim să ne adăugăm numele și înălțimea la lista de înălțimi fam:

Putem stoca această nouă listă într-o variabilă - fam_ext, de exemplu.

În cele din urmă, ștergerea elementelor dintr-o listă este, de asemenea, destul de
simplă, va trebui să utilizăm funcția del()i. Luăm linia de mai sus de exemplu, care
șterge elementul cu index 2, deci „emma”, din listă. Dacă verificam fam, observăm că
șirul „emma” a dispărut.

Deoarece am eliminat un index, toate elementele care erau după „emma” au fost
depășite cu un index. Dacă rulăm din nou aceeași linie, eliminam din nou elementul
index 2, care este înălțimea Emmei, 1.68 metri.
Înțelegerea modului în care listele Python funcționează în culise, devine destul de
importantă acum.

Ce se întâmplă de fapt când cream o nouă listă x?

Intr-un sens simplificat, stocăm o listă în memoria calculatorului și stocăm „adresa”


acelei liste, deci unde este lista în memoria calculatorului în x.

Aceasta înseamnă că x nu conține de fapt toate elementele listei, mai degrabă conține
o referință la listă.

Pentru operațiunile de bază, diferența nu este atât de importantă, dar devine mai
importantă atunci când începem să copiem liste.
Să clarificăm acest lucru cu un exemplu:

Să stocăm lista x ca o nouă variabilă y, folosind pur și simplu semnul egal:

Să schimbăm acum elementul cu indexul unu din lista y. Ce observam ciudat este că,
dacă acum verificăm din nou x, aici tot a fost schimbat al doilea element.

Asta pentru că atunci când am copiat x în y cu semnul egal, am copiat de fap referința
la listă, nu valorile reale în sine.
Când actualizam un element din lista, modificăm una și aceeași listă din memoria
calculatorului. Atât x, cât și y indică această listă, astfel încât actualizarea este vizibilă in
ambele variabile.
Dacă dorim să creăm o listă y care indică o nouă listă în memorie cu aceleași valori, va
trebui să folosim altceva decât semnul egal.
Putem utiliza funcția list() astfel:

sau utilizam subsetarea (felierea) pentru a selecta în mod explicit toate elementele
listei.

Dacă facem o modificare a listei y, x nu este afectat:

S-ar putea să vă placă și