Comprehensiuni de listă, set, dicționar în Python
Învățăm despre înțelegerile de listă, dicționar, set în python.
Comprehensiuni în Python:
Comprehensiunea este formată dintr-o singură expresie urmată de cel puțin o clauză for
și zero sau mai multe clauze for
sau if
.
Există trei comprehensiuni în Python.
Comprehensiuni de liste:
Comprehensiunile de liste oferă o modalitate concisă de a crea liste. Aplicațiile comune sunt de a crea noi liste în care fiecare element este rezultatul unor operații aplicate fiecărui membru al unei alte secvențe sau iterabile sau de a crea o subsecvență a acelor elemente care satisfac o anumită condiție. – python docs
Syntaxă:
Expresia poate fi orice expresie arbitrară, expresii complexe, tuple, funcții imbricate sau o altă înțelegere de listă.
Acest lucru este echivalent cu
for item in iterable:
if conditional:
expression
Tip de retur:
List
Utilizarea înțelegerii de listă:
O înțelegere de listă constă din paranteze care conțin o expresie urmată de o clauză
for
, apoi zero sau mai multe clauze for
sau if
. Rezultatul va fi o nouă listă rezultată din evaluarea expresiei în contextul clauzelor for
și if
care o urmează.
Comprehensiunea de listă vs bucla for.
Utilizând List Comprehension, este mai concis și mai ușor de citit în comparație cu for loop.
Căutarea pătratului numerelor folosind List Comprehension vs for loop:
List comprehension vs filter.
Întoarce un iterator din acele elemente ale iterabilului pentru care funcția returnează true. iterabilul poate fi fie o secvență, fie un container care suportă iterația, fie un iterator
Căutarea numerelor pare folosind înțelegerea listei vs filter():
3.Înțelegerea listei vs map.
map:
Întoarce un iterator care aplică o funcție la fiecare element al iterabilului, producând rezultatele.
Căutarea pătratului numerelor folosind List Comprehensiune vs map():
Bucle imbricate în List Comprehensiune.
List Comprehensiune poate conține una sau mai multe clauze for.
Exemplu 1: Aplatizarea unei liste folosind List Comprehensiune cu două clauze ‘for’:
5.Condiție if multiplă în List Comprehensiune.
List Comprehensiune poate conține zero sau mai multe clauze if.
Exemplu: Găsirea numerelor care sunt divizibile cu 2 și 3.
Expresia poate fi un tuplu în Comprehensiunea de listă.
Potem menționa expresia ca un tuplu într-o înțelegere de listă. Ea trebuie scrisă între paranteze. În caz contrar, se va genera o eroare. Rezultatul va fi o listă de tupluri.
Exemplu 1: Crearea unei liste de tupluri folosind comprehensiunea de liste cu două clauze ‘for’:
Dacă expresia este un tupluplu și dacă nu este cuprinsă între paranteze, se va ridica SyntaxError.
Exemplu 2:Utilizarea funcției zip() în înțelegerea listei:
Înțelegerea listei poate fi utilizată pentru a apela o metodă pe fiecare element.
Exemplu 1: Apelarea metodei strip() pe fiecare element din listă. Se utilizează pentru a elimina spațiile albe.
Exemplul 2: Apelarea metodei upper() pe fiecare element din listă.
Comprehensiunea de listă poate conține expresii complexe și funcții imbricate.
Exemplul 1: În exemplul de mai jos, în expresie folosim metoda strip și funcția int.
Exemplul 2: În exemplul de mai jos, în expresie, folosim funcțiile abs() și str().
Comprehensiunea de listă imbricate.
Expresia dintr-o înțelegere de listă poate include și o altă înțelegere de listă.
Exemplu: Prima înțelegere de listă dată ca expresie va returna o listă de numere pare de la 0 la 10. Înțelegerea listei imbricate va returna acea expresie (listă de numere pare de la 0 la 10) de trei ori(range(3)).
.