On Fri, 4 Dec 2020 at 10:08, Gabriele Battaglia <iz4...@libero.it> wrote:
> Ciao. > Ciao Gabriele > Se cerco la chiave conoscendo il valore, esiste una funzione da > applicare sul dizionario che me la fornisca direttamente, invece di > dover iterare con un for su tutti i valori? > Non esiste questa funzione che io sappia, ma se ci pensi è un po' controintuitivo, perché staresti utilizzando il dizionario al "contrario". Proprio per questo, tutte le volte che mi è capitato un caso simile, sono ricorso alla versione flippata del dizionario - in cui le chiavi diventano valori, e viceversa. >>> flipped_dict = {v:k for k, v in original_dict.items() } Se invece dovesse capitare che più valori nel tuo dizionario corrispondano alla stessa chiave, userei un setdefault di sicurezza >>> flipped_dict = dict() >>> for k, v in original_dict.items(): ... rd.setdefault(v, []) ... rd[v].append(k) *La versione compatta singola riga usando dict-comprehension è lasciata come esercizio al lettore :D* Scherzo! :D Valerio
_______________________________________________ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python