Î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.