problemi con dizionari

d
davidebelcastro (1160 points)
5 32 41
asked Nov 5, 2020 in Programmare in Python by davidebelcastro (1,160 points)
recategorized Nov 8, 2020 by andrea.sterbini
ciao a tutti, sapete come posso  richiamare le chiavi di un dizionario riferite a dei valori?? esempio per richiamare un valore associato ad una chiave facciamo: diz['chiave'] e ci ritorna il valore associato, se provo il contrario mi da errore , qualcuno sa come si puo fare?
171 views

4 Answers

g
giacomo_venturini (6680 points)
2 5 39
answered Nov 5, 2020 by giacomo_venturini (6,680 points)
Non puoi direttamente, questo perché più chiavi potrebbero avere lo stesso valore, quello che puoi fare è cercare il valore che corrisponde a una chiave tramite il metodo items.
In alternativa potresti costruire un secondo dizionario "specchiato", dove i valori sono le chiavi e viceversa, ma questo solo se sei certo che chiavi e valori sono sempre in rapporto univoco.
d
davidebelcastro (1160 points)
5 32 41
commented Nov 5, 2020 by davidebelcastro (1,160 points)
perfetto,grazie mille
AdSum (16290 points)
9 20 134
answered Nov 5, 2020 by AdSum (16,290 points)
L'unica maniera è scegliere il valore da cercare e iterare tutte le associazioni chiave/valore, per poi confrontare il tuo valore con quello di ogni chiave. E' molto dispendioso e ti sconsiglio di farlo. E' il modo errato di usare i dizionari, sicuramente puoi trovare una struttura dati e/o una logica che ti permette di svolgere tutto in maniera più efficiente
d
davide.marincione (1380 points)
0 4 14
answered Nov 5, 2020 by davide.marincione (1,380 points)
Nativamente i dizionari non prevedono comandi del genere, dovresti usare una libreria o crearti una soluzione da te- ciò che mi viene in mente sarebbe l'iterare attraverso dic.items(), cercare il valore che ti serve (attenzione le chiavi sono univoche ma i valori no, quindi questo potrebbe essere problematico) e ritornare la chiave associata nella tupla.
Loriv3 (7970 points)
8 20 84
answered Nov 5, 2020 by Loriv3 (7,970 points)
Purtroppo questa strategia non è consigliabile da utilizzare le chiavi possono essere diverse e i valori associati potrebbero essere diversi. Per fare una cosa del genere non so se potrebbe esserti utile utilizzare metodo items() che ti restituisce una lista di coppie in cui vengono associate chiave e valore