Inversione chiave valore in un dizionario

S
Simone Giovagnoni (960 points)
3 4 6
asked Nov 5, 2020 in Programmare in Python by Simone Giovagnoni (960 points)
Salve, volevo sapere quale potrebbe essere un metodo per invertire le chiavi con i rispettivi valori all'interno di un dizionario?

es. {'a' :1}  - - > {1:'a'}

Grazie
276 views

4 Answers

Best answer
lcrainic (3320 points)
2 4 25
answered Nov 5, 2020 by lcrainic (3,320 points)
selected Nov 6, 2020 by Simone Giovagnoni
Ciao tempo fa mi era venuto in mente lo stesso dubbio e cercando su Stack ho trovato questo thread che mi ha aiutato molto a capire un po'.

https://stackoverflow.com/questions/483666/reverse-invert-a-dictionary-mapping
O
Oakandrew (6400 points)
4 26 63
answered Nov 5, 2020 by Oakandrew (6,400 points)

https://docs.python.org/3/tutorial/datastructures.html:

It is best to think of a dictionary as a set of key: value pairs, with the requirement that the keys are unique (within one dictionary).
AdSum (16290 points)
9 20 134
answered Nov 5, 2020 by AdSum (16,290 points)
Non so se ci sono metodi più veloci, ma l'unico che conosco è scorrere la lista chiavi/valori e inserire in un secondo dizionario i valori nel formato voluto. Nel tuo caso posizionare il valore del diz1 nel diz2 come chiave e la chiave del diz1 come valore nel diz2. Quindi in soldoni usa in ciclo per scorrere il dizionario.
a
alessandro.bellia (930 points)
0 2 12
commented Nov 5, 2020 by alessandro.bellia (930 points)
Dovrebbe assicurarsi che i valori non si ripetano mai prima però, dato che le key non possono ripetersi
AdSum (16290 points)
9 20 134
commented Nov 5, 2020 by AdSum (16,290 points)
non è un problema, basta stare attenti a non sovrascrivere senza aggiornare correttamente i valori
Loriv3 (7970 points)
8 20 84
answered Nov 5, 2020 by Loriv3 (7,970 points)
Stai attento ai consigli che ti danno, sono un buon punto di partenza ma se trovi chiavi con valore uguale ti esce un errore in console, io proverei anche ad usare il nero get() pensi possa tornare molto utile