[Tutor] Finding the key for a value in a dictionary.
Kent Johnson
kent37 at tds.net
Thu Jan 11 11:58:13 CET 2007
Wesley Brooks wrote:
> Dear Users,
>
> I'm trying to find the key of a unique value within a dictionary. Is
> the code bellow a safe way of doing so, or is there a better way of
> doing it?
>
> a = {'de':'df', 'gf':'hg'}
> key = a.keys()[a.values().index('hg')]
This is safe, as long as the dict is not being modified (by another
thread, presumably) while this is going on - the docs for dict
explicitly guarantee that the order of items in a.keys() and a.values()
will correspond as long as a doesn't change.
Whether it is a good solution or not, I don't know. It sounds like your
dictionary is backwards, maybe, if you are looking up by value.
Kent
More information about the Tutor
mailing list