La fel ca List Comprehension, Python permite înțelegerea dicționarului. Putem crea dicționare folosind expresii simple. O înțelegere a dicționarului ia forma {cheie: valoare pentru (cheie, valoare) în iterabil}
Dicţionar Python Comprehension Example
Aici avem două liste chei și valoare numite și le repetăm cu ajutorul zip() funcţie.
Piton
# Python code to demonstrate dictionary> # comprehension> # Lists to represent keys and values> keys> => [> 'a'> ,> 'b'> ,> 'c'> ,> 'd'> ,> 'e'> ]> values> => [> 1> ,> 2> ,> 3> ,> 4> ,> 5> ]> # but this line shows dict comprehension here> myDict> => { k:v> for> (k,v)> in> zip> (keys, values)}> # We can use below too> # myDict = dict(zip(keys, values))> print> (myDict)> |
>
iarnă triplă
>
Ieșire:
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}>
Folosind metoda fromkeys().
Aici folosim metoda fromkeys() care returnează un dicționar cu chei și valori specifice.
Python3
dic> => dict> .fromkeys(> range> (> 5> ),> True> )> print> (dic)> |
>
>
Ieșire:
{0: True, 1: True, 2: True, 3: True, 4: True}>
Folosind înțelegerea dicționarului faceți dicționar
Exemplul 1:
Piton
# Python code to demonstrate dictionary> # creation using list comprehension> myDict> => {x: x> *> *> 2> for> x> in> [> 1> ,> 2> ,> 3> ,> 4> ,> 5> ]}> print> (myDict)> |
>
>
Ieșire:
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}>
Exemplul 2:
Piton
sDict> => {x.upper(): x> *> 3> for> x> in> 'coding '> }> print> (sDict)> |
>
>
Ieșire:
{'O': 'ooo', 'N': 'nnn', 'I': 'iii', 'C': 'ccc', 'D': 'ddd', 'G': 'ggg'}>
Utilizarea declarațiilor condiționale în înțelegerea dicționarului
Exemplul 1:
Putem folosi dicționarul de înțelegere cu afirmații if și else și cu alte expresii. Acest exemplu de mai jos mapează numerele cu cuburile lor care nu sunt divizibile cu 4.
Piton
# Python code to demonstrate dictionary> # comprehension using if.> newdict> => {x: x> *> *> 3> for> x> in> range> (> 10> )> if> x> *> *> 3> %> 4> => => 0> }> print> (newdict)> |
>
>
Ieșire:
{0: 0, 8: 512, 2: 8, 4: 64, 6: 216}>
Folosind înțelegerea dicționarului imbricat
Aici încercăm să creăm un imbricat dicţionar cu ajutorul înțelegerii dicționarului.
Python3
# given string> l> => 'GFG'> # using dictionary comprehension> dic> => {> > x: {y: x> +> y> for> y> in> l}> for> x> in> l> }> print> (dic)> |
>
>
Ieșire:
{'G': {'G': 'GG', 'F': 'GF'}, 'F': {'G': 'FG', 'F': 'FF'}}>