Nico Grubert wrote: > Hi there, > > I am looking for a way to sort a list containing dictionaries. > > This is my example list: > [{'Title': 'ABC', 'from_datetime': DateTime('2006/04/25 12:45:00 > GMT+2')}, {'Title': 'DEF', 'from_datetime': DateTime('2006/04/18 > 12:45:00 GMT+2')}, {'Title': 'GHI', 'from_datetime': > DateTime('2006/03/10 12:45:00 GMT+2')}] > > I want to sort the list by dictionary's key 'from_datetime' so the > sorted list should be: > > [{'Title': 'GHI', 'from_datetime': DateTime('2006/03/10 12:45:00 > GMT+2')}, {'Title': 'DEF', 'from_datetime': DateTime('2006/04/18 > 12:45:00 GMT+2')}, {'Title': 'ABC', 'from_datetime': > DateTime('2006/04/25 12:45:00 GMT+2')}] > > Any idea how I can sort this list?
The common idiom for this is called decorate-sort-undecorate. unsorted_list = [ {'Title': 'ABC', 'from_datetime': DateTime('2006/04/25 12:45:00 GMT+2')}, {'Title': 'DEF', 'from_datetime': DateTime('2006/04/18 12:45:00 GMT+2')}, {'Title': 'GHI', 'from_datetime': DateTime('2006/03/10 12:45:00 GMT+2')}] decorated_list = [(d['from_datetime'], d) for d in unsorted_list] decorated_list.sort() sorted_list = [t[1] for t in decorated_list] HTH -- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in '[EMAIL PROTECTED]'.split('@')])" -- http://mail.python.org/mailman/listinfo/python-list