🐍

Liste în Python

Programare Python Începător 1 min citire 0 cuvinte

Liste în Python

Ce este o Listă?

Lista este o colecție ordonată și mutabilă de elemente, care poate conține duplicate.

numere = [1, 2, 3, 4, 5]
mixta = [1, "text", 3.14, True, [1, 2]]
goala = []

Accesarea Elementelor

Indexare

lista = [10, 20, 30, 40, 50]

lista[0]   # 10 (primul element)
lista[-1]  # 50 (ultimul element)
lista[-2]  # 40 (penultimul)

Slicing (Feliere)

lista = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

lista[2:5]    # [2, 3, 4]
lista[:3]     # [0, 1, 2]
lista[7:]     # [7, 8, 9]
lista[::2]    # [0, 2, 4, 6, 8] (din 2 în 2)
lista[1::2]   # [1, 3, 5, 7, 9]
lista[::-1]   # [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] (inversată)

Modificarea Listelor

Adăugare elemente

lista = [1, 2, 3]

lista.append(4)      # [1, 2, 3, 4]
lista.insert(0, 0)   # [0, 1, 2, 3, 4]
lista.extend([5, 6]) # [0, 1, 2, 3, 4, 5, 6]

Eliminare elemente

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

lista.remove(2)      # [1, 3, 2, 4] (prima apariție)
elem = lista.pop()   # elem=4, lista=[1, 3, 2]
elem = lista.pop(0)  # elem=1, lista=[3, 2]
del lista[0]         # lista=[2]
lista.clear()        # lista=[]

Modificare în loc

lista = [1, 2, 3]

lista[0] = 10        # [10, 2, 3]
lista[1:3] = [20, 30] # [10, 20, 30]

Metode Utile

lista = [3, 1, 4, 1, 5, 9, 2, 6]

len(lista)           # 8
lista.count(1)       # 2 (de câte ori apare 1)
lista.index(4)       # 2 (indexul lui 4)
lista.sort()         # Sortează în loc
lista.reverse()      # Inversează în loc
lista.copy()         # Copie superficială

Liste și Referințe

Problema aliasing-ului

a = [1, 2, 3]
b = a           # b referă același obiect!

b.append(4)
print(a)        # [1, 2, 3, 4] - și a s-a modificat!

Soluții pentru copiere

a = [1, 2, 3]

# Copie superficială
b = a.copy()
b = a[:]
b = list(a)

b.append(4)
print(a)  # [1, 2, 3] - a rămâne neschimbat

Operații

# Concatenare
[1, 2] + [3, 4]    # [1, 2, 3, 4]

# Multiplicare
[1, 2] * 3         # [1, 2, 1, 2, 1, 2]

# Apartenență
3 in [1, 2, 3]     # True

Liste Imbricate

matrice = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

matrice[0]      # [1, 2, 3]
matrice[0][1]   # 2
matrice[1][2]   # 6

De Reținut

Listele sunt mutabile și când atribui o listă altei variabile, ambele referă același obiect. Folosește .copy() sau slicing [:] pentru o copie independentă.

Întrebări de Verificare

  1. Ce returnează [1,2,3][1::]?
  2. Care este diferența dintre append() și extend()?
  3. Ce se întâmplă când faci b = a unde a este o listă?
  4. Cum elimini și obții ultimul element dintr-o listă?

📚 Articole Corelate