scusa items() e non iteritems() che é python2 ... sorry ma sono in una fare
di migrazione progetto da py2 a py3 e sto impazzendo :/

On Fri, Dec 4, 2020 at 11:25 AM Ernesto Arbitrio <ernesto.arbit...@gmail.com>
wrote:

> nel caso di valori univoci puoi invertire il dizionario:
>
> mydict2 = dict(map(reversed, mydict.items()))
> e quindi
> mydict2[val]
>
> altrimenti non hai alternative secondo me ... devi iterare (o usare
> librerie esterne tipo Pandas)
>
> quindi scriverti qualcosa che usi una list comprehension
>
> [k for k, v in d.iteritems() if v == value]
>
>
> On Fri, Dec 4, 2020 at 11:23 AM Valerio Maggio <valerio.mag...@gmail.com>
> wrote:
>
>> 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
>>
>
_______________________________________________
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python

Rispondere a