Conținut curs
Gestionarea erorilor și excepțiilor
0/1
Python Intermediar
Despre lecție

Cuprins

  1. Introducere în list comprehensions
  2. Sintaxa list comprehensions
  3. Aplicații și exemple de list comprehensions
  4. List comprehensions cu condiții
  5. List comprehensions imbricate
  6. Avantajele și dezavantajele utilizării list comprehensions
  7. Recapitulare și bune practici

1. Introducere în list comprehensions

List comprehensions reprezintă o metodă concisă și elegantă de a crea liste în Python. Ele permit crearea de liste prin intermediul unei singure linii de cod, în loc să folosiți bucle for pentru a adăuga elemente în mod iterativ.

2. Sintaxa list comprehensions

Sintaxa generală pentru un list comprehension este următoarea:

python
[expression for item in iterable if condition]

Unde:

  • expression reprezintă o expresie care poate utiliza item
  • item este o variabilă temporară care ia fiecare valoare din iterable
  • iterable este o colecție sau un obiect iterabil
  • condition este o expresie condițională opțională care filtrează elementele din iterable

3. Aplicații și exemple de list comprehensions

Să vedem câteva exemple de list comprehensions:

Exemplu 1: Crearea unei liste cu pătratele tuturor numerelor întregi de la 1 la 10

python
squares = [x ** 2 for x in range(1, 11)]
print(squares)

Output:

json
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

Exemplu 2: Crearea unei liste cu lungimile cuvintelor dintr-o listă de cuvinte

python
words = ["apple", "banana", "cherry", "orange"]
word_lengths = [len(word) for word in words]
print(word_lengths)

Output:

[5, 6, 6, 6]

4. List comprehensions cu condiții

Putem adăuga condiții în list comprehensions pentru a filtra elementele care vor face parte din lista rezultată.

Exemplu 3: Crearea unei liste cu numerele pare de la 1 la 20

python
even_numbers = [x for x in range(1, 21) if x % 2 == 0]
print(even_numbers)

Output:

json
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

5. List comprehensions imbricate

Este posibil să folosim list comprehensions imbricate pentru a crea liste multidimensionale sau pentru a procesa iterabile imbricate.

Exemplu 4: Crearea unei matrice 3×3 cu valorile 0

python
matrix = [[0 for _ in range(3)] for _ in range(3)]
print(matrix)

Output:

json
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]

6. Avantajele și dezavantajele utilizării list comprehensions

Avantaje:

  • Sintaxă concisă și elegantă
  • Crearea de liste într-o singură linie de cod
  • Adesea mai rapidă decât buclele for tradiționale

Dezavantaje:

  • Pot deveni greu de citit și înțeles dacă sunt prea complexe
  • Nu este întotdeauna cea mai eficientă metodă, în special pentru liste foarte mari

7. Recapitulare și bune practici

List comprehensions reprezintă o tehnică avansată pentru a crea liste în Python într-un mod concis și elegant. Ele pot îmbunătăți claritatea și eficiența codului, dar este important să nu exagerați cu complexitatea lor.

Câteva bune practici pentru utilizarea list comprehensions sunt:

  • Folosiți list comprehensionspentru cazuri simple și ușor de înțeles
  • Evitați să îmbinați prea multe expresii sau condiții într-un singur list comprehension
  • Încercați să păstrați list comprehensions pe o singură linie de cod, dacă este posibil
  • Utilizați parantezele pentru a grupa expresiile și a facilita înțelegerea codului
  • Nu sacrificați lizibilitatea codului în favoarea conciziei

Acum că aveți o înțelegere mai profundă a list comprehensions, puteți începe să le utilizați în proiectele dvs. Python pentru a simplifica și îmbunătăți codul.