Dict Copy & Compare

Hamilton, William whamil1 at entergy.com
Mon Apr 30 13:50:58 EDT 2007


> -----Original Message-----
> From: python-list-bounces+whamil1=entergy.com at python.org
[mailto:python-
> list-bounces+whamil1=entergy.com at python.org] On Behalf Of Robert
Rawlins -
> Think Blue
> Sent: Monday, April 30, 2007 6:09 AM
> To: 'Tim Golden'
> Cc: python-list at python.org
> Subject: RE: Dict Copy & Compare
> 
> On quick question, how can I order a dict by the 'values' (not keys)
> before
> looping? Is that possible?
> 

The easiest way I can think of is to create a new dict that's reversed.

reverseDict = {}
for key in dict1:
    if dict1[key] not in reverseDict:
        reverseDict[dict1[key]]=[key]
    else:
        reverseDict[dict1[key]].append(key)

This gives you a dictionary that has the old dict's values as keys, and
the old dict's keys as lists of values.  You can then sort the keys of
this dict and do what you want with it.  Of course, the values in dict1
have to be valid dictionary keys for this to work.  If they aren't, you
may be able to get away with converting them to strings.



---
-Bill Hamilton



More information about the Python-list mailing list