How does setdefault work exactly? I am looking in the docs and can't figure it out... Ric
"Ric Da Force" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > Thank you guys! (Reinhold, Mark and Markus) I must confess that I am > absolutely awe struck at the power of this language! There is no way in > the world that I would have envisaged such simple and elegant solutions!!! > > Reinhold, is your solution specific to 2.4? > > Kind Regards, > > Ric > > "Reinhold Birkenfeld" <[EMAIL PROTECTED]> wrote in > message news:[EMAIL PROTECTED] >> Mark Jackson wrote: >>> "Ric Da Force" <[EMAIL PROTECTED]> writes: >>> >>>> It is hard to explain but this is what I mean: >>>> >>>> Dict = {'rt': 'This is repeated', 'sr': 'This is repeated', 'gf': 'This >>>> is >>>> not'} >>>> >>>> I want this to return a new dict with string keys and lists containing >>>> the >>>> previous keys for repeated values. >>>> >>>> NewDict = {'This is repeated':['rt','sr'],'This is not':['gf']} >>> >>> NewDict = {} >>> for x in Dict.keys(): >>> try: >>> NewDict[Dict[x]].append(x) >>> except KeyError: >>> NewDict[Dict[x]] = [x] >> >> Or, more up-to-date: >> >> NewDict = {} >> for key, val in Dict.iteritems(): >> NewDict.setdefault(val, []).append(key) >> >> Reinhold > > -- http://mail.python.org/mailman/listinfo/python-list