Reversing a dict?

Paul Hankin paul.hankin at gmail.com
Tue May 6 16:19:31 EDT 2008


On May 6, 4:24 pm, cokofree... at gmail.com wrote:
> On May 6, 5:20 pm, krumbleb... at gmail.com wrote:
>
>
>
> > Hi - further to my earlier query regarding partial matches (which with
> > all your replies enabled me to advance my understanding, thanks), I
> > now need to reverse a dict.
>
> > I know how to reverse a list (with the reverse method - very handy),
> > but it doesn't seem possible to reverse a dict.
>
> > I suspect what I need to do is somehow go from:
>
> > thelist=list(thedict)
> > thelist.reverse()
> > thedict=dict(thelist)
>
> > Does anyone know how to convert / or reverse a dict?
>
> > thanks
>
> > kb.
>
> Issue 1: A dictionary is not ordered so cannot be reversed, as is.
>
> Saw something like this though:
>
> info = {"PHP":"17th May",
>        "Perl":"15th June",
>        "Java":"7th June",
>        "Python":"26th May",
>        "Tcl":"12th July",
>        "MySQL":"24th May"}
>
> topics = info.keys()
> topics.sort()
> topics.reverse()
>
> for topic in topics:
>    print "Next",topic,"course starts",info[topic]

Better:

for topic, when in sorted(topics.iteritems(), reverse=True):
    print 'Next %s course starts %s' % (topic, when)

--
Paul Hankin



More information about the Python-list mailing list