按列表在Python中排序?

这个问题在这里已经有了答案:

  • 如何根据Python中字典的值对字典列表进行排序? 17个答案

  • 你可以使用带键参数的list.sort() ,将一个lambda表达式传递给key参数 -

    In [45]: l = [{"id":"21", "region" :['2', '6', '4']}, {"id":"12", "region" :['1', '3', '8']}]
    
    In [46]: l.sort(key=lambda x: x['region'][1])
    
    In [47]: l
    Out[47]:
    [{'id': '12', 'region': ['1', '3', '8']},
     {'id': '21', 'region': ['2', '6', '4']}]
    

    参考sorted(iterable, cmp=None, key=None, reverse=False)

    >>> l = [{"id":"21", "region" :['2', '6', '4']}, {"id":"12", "region" :['1', '3', '8']}]
    
    >>> print sorted(l, key=lambda x: x['region'][1], reverse=False)
    [{'region': ['1', '3', '8'], 'id': '12'}, {'region': ['2', '6', '4'], 'id': '21'}]
    
    >>> print l
    [{'region': ['2', '6', '4'], 'id': '21'}, {'region': ['1', '3', '8'], 'id': '12'}]
    
    链接地址: http://www.djcxy.com/p/70775.html

    上一篇: Sort by list in list in python?

    下一篇: Iterate over list of dicts in order of property