Cuprins
- Introducere în list comprehensions
- Sintaxa list comprehensions
- Aplicații și exemple de list comprehensions
- List comprehensions cu condiții
- List comprehensions imbricate
- Avantajele și dezavantajele utilizării list comprehensions
- 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:
[expression for item in iterable if condition]
Unde:
expressionreprezintă o expresie care poate utilizaitemitemeste o variabilă temporară care ia fiecare valoare diniterableiterableeste o colecție sau un obiect iterabilconditioneste o expresie condițională opțională care filtrează elementele diniterable
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
squares = [x ** 2 for x in range(1, 11)]
print(squares)
Output:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
Exemplu 2: Crearea unei liste cu lungimile cuvintelor dintr-o listă de cuvinte
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
even_numbers = [x for x in range(1, 21) if x % 2 == 0]
print(even_numbers)
Output:
[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
matrix = [[0 for _ in range(3)] for _ in range(3)]
print(matrix)
Output:
[[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
fortradiț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.