Înapoi la blog
#python#liste#structuri-de-date#fundamente

Cum funcționează listele în Python

Listele sunt cea mai folosită structură de date în Python. Învață cum le creezi, le modifici, le parcurgi și ce metode trebuie să știi neapărat.

Dacă ar fi să alegi o singură structură de date pe care s-o stăpânești perfect în Python, aceea ar fi lista. O folosești peste tot: de la teme simple până la proiecte reale. Hai să vedem cum funcționează, pas cu pas.

Ce este o listă?

O listă e o colecție ordonată de elemente, ținute într-o singură variabilă. Elementele pot fi numere, șiruri de caractere, ba chiar alte liste.

fructe = ["mar", "para", "banana"]
numere = [10, 25, 3, 47]
amestec = [1, "doi", 3.0, True]
print(fructe)   # ['mar', 'para', 'banana']

Lista se scrie între paranteze drepte [ ], cu elementele separate prin virgulă.

Accesarea elementelor

Fiecare element are un index, iar numărătoarea începe de la 0:

fructe = ["mar", "para", "banana"]
print(fructe[0])    # mar
print(fructe[2])    # banana
print(fructe[-1])   # banana  (ultimul element)

Indexul negativ numără de la coadă: -1 e ultimul, -2 penultimul și așa mai departe.

Atenție: dacă ceri un index care nu există, primești o eroare IndexError. O listă cu 3 elemente are indici valizi doar 0, 1 și 2.

Modificarea listelor

Spre deosebire de șiruri, listele sunt mutabile — le poți schimba după ce le-ai creat.

note = [8, 9, 7]
note[2] = 10          # schimbam un element
note.append(6)        # adaugam la final
note.insert(1, 5)     # inseram pe pozitia 1
note.remove(8)        # stergem prima aparitie a lui 8
ultima = note.pop()   # scoatem si returnam ultimul element
print(note)

Cele mai utile metode

MetodăCe face
append(x)Adaugă x la final
insert(i, x)Inserează x pe poziția i
remove(x)Șterge prima apariție a lui x
pop(i)Scoate și returnează elementul de pe i
sort()Sortează lista pe loc
reverse()Inversează ordinea
index(x)Returnează poziția lui x
count(x)De câte ori apare x

Parcurgerea unei liste

Cel mai des vei parcurge o listă cu o buclă for:

preturi = [12, 8, 25, 4]
total = 0
for pret in preturi:
    total += pret
print("Total:", total)   # Total: 49

Dacă ai nevoie și de index, folosește enumerate:

elevi = ["Ana", "Mihai", "Ioana"]
for i, nume in enumerate(elevi):
    print(i, nume)

Felierea (slicing)

Poți lua o "felie" dintr-o listă cu sintaxa [start:stop]:

numere = [0, 1, 2, 3, 4, 5]
print(numere[1:4])   # [1, 2, 3]
print(numere[:3])    # [0, 1, 2]
print(numere[3:])    # [3, 4, 5]
print(numere[::-1])  # [5, 4, 3, 2, 1, 0]  (inversat)

Capătul stop nu e inclus — [1:4] ia elementele de la 1 până la 3.

List comprehension: scurt și elegant

Când vrei să construiești o listă nouă pe baza alteia, Python îți oferă o sintaxă compactă:

patrate = [n * n for n in range(1, 6)]
print(patrate)   # [1, 4, 9, 16, 25]

pare = [n for n in range(20) if n % 2 == 0]
print(pare)      # [0, 2, 4, ..., 18]

Citește-o ca pe o propoziție: "pătratul lui n, pentru fiecare n din intervalul 1–5".

Greșeli des întâlnite

  1. Confunzi append cu +append adaugă un singur element; lista + alta lipește două liste.
  2. Modifici lista în timp ce o parcurgi — poate sări peste elemente. Mai bine creează o listă nouă.
  3. Crezi că = copiază listab = a face ca b și a să fie aceeași listă. Pentru o copie reală: b = a.copy().

Concluzie

Listele sunt cărămida ta de bază pentru orice program Python: stochezi date, le parcurgi, le sortezi și le transformi. Exersează metodele de mai sus pe exemple proprii — un program care reține notele tale, o listă de cumpărături — și vor deveni reflex.

La ByteSchool înveți structurile de date cu mentori care le folosesc zilnic în Big Tech, pas cu pas, până le simți naturale. Te așteptăm.