Înțelegerea listelor este o modalitate practică și mai rapidă de a crea liste în Python într-o singură linie de cod. Ne ajută să scriem bucle for ușor de citit într-o singură linie.
În Python, dicționarul este o structură de date pentru a stoca date astfel încât fiecare element al datelor stocate este asociat cu o cheie. Structura de date a dicționarului vă permite să interogați datele folosind cheia foarte eficient.
Ideea de înțelegere nu este unică doar pentru listele din Python. Dicționarele, una dintre structurile de date utilizate în mod obișnuit în știința datelor, pot face, de asemenea, comprehensiune. Cu dict comprehension sau dictionary comprehension, se pot crea cu ușurință dicționare.
Amintiți-vă că, în python, o listă este definită cu paranteze pătrate, iar un dicționar este definit cu paranteze curbe {}. Ideea folosită în înțelegerea listelor este preluată și în definirea înțelegerii dicturilor. Înțelegerea dict se definește cu o sintaxă similară, dar cu o pereche cheie:valoare în expresie.
- {key:value for i in list}
Vezi 5 exemple simple de utilizare a înțelegerii dict pentru a crea cu ușurință noi dicționare.
S-a adăugat al șaselea exemplu de înțelegere dict pentru a șterge cheile dintr-un dicționar.
Exemplu 1 de înțelegere dict
Vezi un exemplu rapid de creare a unei înțelegeri dict dintr-o listă de numere.
Aici să folosim o listă de numere și să creăm un dicționar cu valoarea șirului de caractere a numărului ca cheie și numărul ca valori.
# dict comprehension to create dict with numbers as values>{str(i):i for i in }{'1': 1, '3': 3, '2': 2, '5': 5, '4': 4}
Exemplu de înțelegere dict 2
Să spunem că avem o listă de fructe și putem folosi înțelegerea dict pentru a crea un dicționar cu fructe, elementele listei ca chei și lungimea fiecărui șir ca valori.
# create list of fruits>fruits = # dict comprehension to create dict with fruit name as keys>{f:len(f) for f in fruits}{'cherry': 6, 'mango': 5, 'apple': 5, 'banana': 6}
Exemplu de înțelegere dict 3
Să creăm un dicționar cu ajutorul înțelegerii dict astfel încât elementele din listă să fie cheile și elementele cu prima literă majusculă să fie valorile.
>{f:f.capitalize() for f in fruits}{'cherry': 'Cherry', 'mango': 'Mango', 'apple': 'Apple', 'banana': 'Banana'}
Exemplu de înțelegere dict 4
Să folosim funcția enumerate în înțelegerea dicționarului. Dacă nu ați folosit enumerate: enumerate poate lua orice lucru iterabil ca intrare și returnează elementul și indicele acestuia.
Aici folosim funcția enumerate pe listă pentru a crea indici și tupluri de elemente de listă și le folosim pentru a crea un dicționar cu înțelegere dict. Creăm un dicționar având ca chei elementele din listă și ca valori indicii elementelor. Astfel de dicționare cu indexul elementelor sunt adesea utile într-o varietate de scenarii.
# dict comprehension example using enumerate function>{f:i for i,f in enumerate(fruits)}{'cherry': 3, 'mango': 1, 'apple': 0, 'banana': 2}
Exemplu 5 de înțelegere dict
O altă utilizare a înțelegerii dict este de a inversa cheia:valoarea într-un dicționar existent. Uneori este posibil să doriți să creați un nou dicționar dintr-un director existent, astfel încât rolul perechii cheie:valoare din primul dicționar să fie inversat în noul dicționar. Putem folosi Dict Comprehensiune și să întoarcem dicționarul element to index în dicționarul index to element.
# dict comprehension example to reverse key:value pair in a dictionary>f_dict = {f:i for i,f in enumerate(fruits)}>f_dict{'apple': 0, 'banana': 2, 'cherry': 3, 'mango': 1}# dict comprehension to reverse key:value pair in a dictionary>{v:k for k,v in f_dict.items()}{0: 'apple', 1: 'mango', 2: 'banana', 3: 'cherry'}
Am folosit funcția items din dicționare pentru a obține perechi cheie, valoare într-un dicționar existent și am creat un nou dicționar în care cheile din dicționarul original sunt valori în noul dicționar și invers.
Dict Comprehensiune Exemplul 6: Cum se șterg cheile selectate din dicționar folosind Dict Comprehensiune?
Să spunem că aveți un dicționar și doriți să creați un nou dicționar prin eliminarea anumitor perechi cheie-valoare. Putem folosi Dict Comprehensiune pentru a elimina perechile cheie-valoare selectate dintr-un dicționar și a crea un nou dicționar.
Să folosim dicționarul „fructe” pe care l-am creat mai sus.
fruits = f_d1 ={f:f.capitalize() for f in fruits}f_d1
Să folosim Dict Comprehensiune pentru a elimina două chei, măr și banană, și valorile lor din dicționarul de fructe.
# keys to be removed>remove_this = {'apple','cherry'}# dict comprehension example to delete key:value pairs in a dictionary>{key:f_d1 for key in f_d1.keys() - remove_this}{'banana': 'Banana', 'mango': 'Mango'}
Am eliminat cheile, măr și cireșe, prin simpla utilizare a obiectului dict keys cu operații de setare și acum noul dicționar conține doar banana și mango.