Înțelegerile listei Python explicate cu exemple
Listele de înțelegere oferă o modalitate concisă de a crea liste în Python. Ele sunt mai lizibile și adesea mai eficiente decât utilizarea buclelor tradiționale. Acest articol va explora ce sunt listele de înțelegere, cum funcționează acestea și va oferi exemple pentru a ilustra utilizarea lor.
Ce este o listă de înțelegere?
O listă de înțelegere este o modalitate compactă de a procesa toate sau o parte din elementele dintr-o colecție și de a returna o listă cu rezultatele. Sintaxa unei liste de înțelegere este:
[expression for item in iterable if condition]
Aici, expression
este elementul curent din iterație, dar este și rezultatul, pe care îl puteți manipula înainte de a ajunge ca un element de listă. iterable
este colecția prin care treceți în buclă, iar condition
este un filtru opțional care include numai articole care îndeplinesc condiția.
Exemple de bază
Crearea unei liste de pătrate
Pentru a crea o listă de pătrate de numere de la 0 la 9, puteți utiliza o listă de înțelegere după cum urmează:
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
squares = [x ** 2 for x in numbers]
print(squares)
Ieșire:
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
Elemente de filtrare
De asemenea, puteți adăuga o condiție pentru a filtra elementele. De exemplu, pentru a obține numai numerele pare din listă:
even_squares = [x ** 2 for x in numbers if x % 2 == 0]
print(even_squares)
Ieșire:
[0, 4, 16, 36, 64]
Aplatizarea unei liste de liste
Dacă aveți o listă de liste și doriți să o aplatizați, puteți utiliza o listă de înțelegere:
list_of_lists = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened = [item for sublist in list_of_lists for item in sublist]
print(flattened)
Ieșire:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
Exemple avansate
Aplicarea Funcțiilor
Puteți aplica funcții în cadrul unei liste de înțelegere. De exemplu, pentru a converti o listă de șiruri de caractere în majuscule:
words = ['hello', 'world', 'python']
uppercase_words = [word.upper() for word in words]
print(uppercase_words)
Ieșire:
['HELLO', 'WORLD', 'PYTHON']
Înțelegeri imbricate
Listele de înțelegere pot fi imbricate. De exemplu, pentru a crea o listă de tupluri (i, j) unde i și j sunt ambele elemente din două liste:
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
pairs = [(i, j) for i in list1 for j in list2]
print(pairs)
Ieșire:
[(1, 'a'), (1, 'b'), (1, 'c'), (2, 'a'), (2, 'b'), (2, 'c'), (3, 'a'), (3, 'b'), (3, 'c')]
Concluzie
Listele de înțelegere oferă o modalitate puternică și concisă de a genera liste în Python. Ele vă pot simplifica codul și îl pot face mai lizibil prin înlocuirea mai multor linii de cod în buclă cu o singură linie de înțelegere. Exersați utilizarea listelor de înțelegere pentru a deveni mai confortabil cu sintaxa și capacitățile lor.