Programming/Python 3

dictionary 리스트의 특정 키값으로 정렬

Lawmin 2013. 11. 5. 16:46

https://wiki.python.org/moin/SortingListsOfDictionaries


def multikeysort(items, columns):

        from operator import itemgetter

        comparers = [ ((itemgetter(col[1:].strip()), -1) if col.startswith('-') else (itemgetter(col.strip()), 1)) for col in columns]

        def comparer(left, right):

            for fn, mult in comparers:

                result = cmp(fn(left), fn(right))

                if result:

                    return mult * result

            else:

               return 0

       return sorted(items, cmp=comparer)