Come la comprensione delle liste, Python consente la comprensione del dizionario. Possiamo creare dizionari utilizzando semplici espressioni. La comprensione del dizionario prende la forma {chiave: valore per (chiave, valore) in iterabile}
Esempio di comprensione del dizionario Python
Qui ne abbiamo due elenchi chiavi e valori denominati e li stiamo ripetendo con l'aiuto di cerniera lampo() funzione.
Pitone
# 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)> |
>
C#
>
Produzione :
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}> Utilizzando il metodo fromkeys()
Qui stiamo utilizzando il metodo fromkeys() che restituisce un dizionario con chiavi e valori specifici.
Python3
dic>=>dict>.fromkeys(>range>(>5>),>True>)> print>(dic)> |
>
>
Produzione:
{0: True, 1: True, 2: True, 3: True, 4: True}> Usando la comprensione del dizionario crea un dizionario
Esempio 1:
Pitone
# Python code to demonstrate dictionary> # creation using list comprehension> myDict>=> {x: x>*>*>2> for> x>in> [>1>,>2>,>3>,>4>,>5>]}> print> (myDict)> |
>
>
Produzione :
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}> Esempio 2:
Pitone
sDict>=> {x.upper(): x>*>3> for> x>in> 'coding '>}> print> (sDict)> |
>
>
Produzione :
{'O': 'ooo', 'N': 'nnn', 'I': 'iii', 'C': 'ccc', 'D': 'ddd', 'G': 'ggg'}> Utilizzo delle istruzioni condizionali nella comprensione del dizionario
Esempio 1:
Possiamo usare le comprensioni del dizionario con le istruzioni if e else e anche con altre espressioni. L'esempio seguente mappa i numeri sui loro cubi che non sono divisibili per 4.
Pitone
# Python code to demonstrate dictionary> # comprehension using if.> newdict>=> {x: x>*>*>3> for> x>in> range>(>10>)>if> x>*>*>3> %> 4> =>=> 0>}> print>(newdict)> |
>
>
Produzione :
{0: 0, 8: 512, 2: 8, 4: 64, 6: 216}> Utilizzando la comprensione del dizionario nidificato
Qui stiamo cercando di creare un file nidificato dizionario con l'aiuto della comprensione del dizionario.
Python3
# given string> l>=>'GFG'> # using dictionary comprehension> dic>=> {> >x: {y: x>+> y>for> y>in> l}>for> x>in> l> }> print>(dic)> |
>
>
Produzione:
{'G': {'G': 'GG', 'F': 'GF'}, 'F': {'G': 'FG', 'F': 'FF'}}>