Curs Web Development
Curs HTML
Curs CSS
Curs Javascript
Curs PHP
Curs Phyton
Curs SQL
Curs SEO

Liste în Python: creare - accesare și metode utile

Listele sunt cele mai flexibile și utilizate structuri de date în Python. Ele pot conține orice tip de elemente, pot fi modificate și permit acces rapid la informație.

Crearea listelor

fructe = ["mere", "pere", "banane"]
numere = [1, 2, 3, 4]
mix = [True, 3.14, "text"]

Accesarea elementelor

print(fructe[0])      # Afișează: mere
print(fructe[-1])     # Afișează: banane
print(fructe[1:3])    # Afișează: ['pere', 'banane']

Metode utile pentru liste

fructe.append("cireșe")     # Adaugă un element la final
fructe.insert(1, "prune")   # Inserează la indexul 1
fructe.remove("pere")       # Elimină primul element cu valoarea dată
fructe.pop()                # Elimină ultimul element
fructe.sort()               # Sortează lista
fructe.reverse()            # Inversează ordinea
print(len(fructe))          # Afișează lungimea listei
Observație:
  • Listele pot conține elemente duplicate și de tipuri diferite.
  • Indexarea începe de la 0.
  • Metodele append() și pop() sunt frecvent folosite în algoritmi.

Tupluri și seturi în Python

Tuplurile și seturile sunt structuri de date speciale în Python. Tuplurile sunt imutabile, iar seturile nu permit duplicate. Ambele sunt utile în contexte diferite.

Tupluri

# Creare
coord = (10, 20)

# Accesare
print(coord[0])   # Afișează: 10

# Tuplu cu un singur element
solo = (42,)      # Virgula este obligatorie

Seturi

# Creare
culori = {"roșu", "verde", "albastru", "roșu"}

# Elimină duplicate
print(culori)     # Afișează: {'roșu', 'verde', 'albastru'}

# Adăugare și eliminare
culori.add("galben")
culori.remove("verde")
Observație:
  • Tuplurile sunt utile când vrei o colecție fixă de date.
  • Seturile sunt ideale pentru verificări rapide de apartenență.
  • Seturile nu garantează ordinea elementelor.

Dicționare în Python: chei și valori

Dicționarele sunt structuri de date care stochează perechi cheie-valoare. Sunt ideale pentru acces rapid la informație și organizare clară.

Crearea dicționarelor

elev = {
  "nume": "Ioan",
  "varsta": 17,
  "clasa": "XI-A"
}

Accesarea valorilor

print(elev["nume"])        # Afișează: Ioan
print(elev.get("varsta"))  # Afișează: 17

Modificare și adăugare

elev["varsta"] = 18
elev["profil"] = "Mate-info"

Ștergere

del elev["clasa"]
elev.pop("profil")

Iterare prin dicționar

for cheie in elev:
    print(cheie, elev[cheie])

for cheie, valoare in elev.items():
    print(f"{cheie}: {valoare}")
Observație:
  • Cheile trebuie să fie unice și de tipuri imutabile (ex: string, număr, tuplu).
  • Metoda get() este mai sigură decât accesul direct, evitând erori dacă cheia nu există.
  • Dicționarele sunt extrem de eficiente pentru căutări rapide.

Iterarea prin structuri de date

Iterarea este procesul prin care parcurgem elementele unei structuri de date. Python oferă o sintaxă simplă și intuitivă pentru a lucra cu liste, tupluri, seturi și dicționare.

Iterarea prin listă

fructe = ["mere", "pere", "banane"]

for fruct in fructe:
    print(fruct)

Iterarea prin tuplu

coord = (10, 20)

for valoare in coord:
    print(valoare)

Iterarea prin set

culori = {"roșu", "verde", "albastru"}

for culoare in culori:
    print(culoare)

Iterarea prin dicționar

elev = {"nume": "Ioan", "varsta": 17}

for cheie in elev:
    print(cheie, elev[cheie])

for cheie, valoare in elev.items():
    print(f"{cheie}: {valoare}")
Observație:
  • Poți folosi enumerate() pentru a obține și indexul în timpul iterării.
  • Funcția items() este ideală pentru a accesa simultan cheile și valorile unui dicționar.
  • Ordinea elementelor în seturi nu este garantată.

List Comprehension în Python

List comprehension este o metodă concisă și elegantă de a crea liste pe baza unor expresii și condiții. Este mai rapidă și mai lizibilă decât folosirea buclelor clasice.

Crearea unei liste cu pătrate

# Varianta clasică
patrate = []
for x in range(5):
    patrate.append(x * x)

# List comprehension
patrate = [x * x for x in range(5)]
print(patrate)   # Afișează: [0, 1, 4, 9, 16]

List comprehension cu condiție

# Numere pare dintr-un interval
pare = [x for x in range(10) if x % 2 == 0]
print(pare)   # Afișează: [0, 2, 4, 6, 8]

Transformări de text

cuvinte = ["python", "e", "tare"]
majuscule = [c.upper() for c in cuvinte]
print(majuscule)   # Afișează: ['PYTHON', 'E', 'TARE']
Observație:
  • List comprehension este ideală pentru generarea rapidă de liste transformate.
  • Poți include condiții pentru filtrare direct în expresie.
  • Se poate folosi și cu funcții sau expresii complexe.

Dict Comprehension și Set Comprehension în Python

Comprehension-urile pentru dicționare și seturi oferă o modalitate rapidă și expresivă de a construi structuri de date pe baza unor reguli sau transformări. Sunt ideale pentru filtrare, mapare și generare dinamică.

Dict comprehension

# Creare dicționar cu pătrate
patrate = {x: x * x for x in range(5)}
print(patrate)   # Afișează: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

# Filtrare
numere = [1, 2, 3, 4, 5]
par = {x: x for x in numere if x % 2 == 0}
print(par)       # Afișează: {2: 2, 4: 4}

Set comprehension

# Creare set cu pătrate
patrate = {x * x for x in range(5)}
print(patrate)   # Afișează: {0, 1, 4, 9, 16}

# Filtrare
litere = "programare"
voc = {c for c in litere if c in "aeiou"}
print(voc)       # Afișează: {'a', 'e', 'o'}
Observație:
  • Comprehension-urile sunt mai rapide decât buclele clasice pentru generarea structurilor.
  • Dict comprehension folosește sintaxa {cheie: valoare for ...}.
  • Set comprehension elimină automat duplicatele.

🧠 Quiz - Structuri de Date în Python

Top