List Comprehension este o tehnică puternică de Python, care ne permite să cream liste într-un mod concis și eficient. În loc să folosim cicluri for și if-uri pentru a adăuga elemente într-o listă, putem folosi sintaxa List Comprehension pentru a scrie cod mai clar și mai concis.
Sintaxa generală pentru List Comprehension este următoarea:
new_list = [expression for item in iterable if condition]
new_list
este lista pe care o vom crea;expression
este expresia care va fi evaluată pentru fiecare element diniterable
;item
este fiecare element diniterable
;iterable
este obiectul iterabil din care preluăm elementele;condition
este condiția opțională care verifică dacă elementul trebuie adăugat în lista finală sau nu.
Iată câteva exemple de utilizare a List Comprehension:
- Generarea unei liste de numere pătrate:
squares = [x**2 for x in range(10)]
print(squares)
Output: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
- Generarea unei liste de numere impare:
odds = [x for x in range(20) if x % 2 != 0]
print(odds)
Output: [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
- Generarea unei liste care conține doar literele majuscule dintr-un șir de caractere:
string = "Hello, World!"
uppercase_letters = [x for x in string if x.isupper()]
print(uppercase_letters)
Output: ['H', 'W']
- Generarea unei liste de tuple din două liste diferite:
numbers = [1, 2, 3]
letters = ['a', 'b', 'c']
pairs = [(x, y) for x in numbers for y in letters]
print(pairs)
Output: [(1, 'a'), (1, 'b'), (1, 'c'), (2, 'a'), (2, 'b'), (2, 'c'), (3, 'a'), (3, 'b'), (3, 'c')]
În concluzie, List Comprehension este o tehnică utilă și puternică în Python, care ne permite să cream liste într-un mod concis și eficient. Utilizarea acestei tehnici poate duce la un cod mai clar și mai ușor de citit, iar exemplele de mai sus arată cât de versatilă este această metodă.