Python 对列表中的字典元素进行排序
对于这个列表Python 对列表中的字典元素进行排序,python,list,sorting,dictionary,Python,List,Sorting,Dictionary,对于这个列表 [{u'status': u'Active', u'name': u'X', u'orgID': u'109175', u'type': u'Created Section','class': 'addbold'} , {u'status': u'Active', u'name': u'A', u'orgID': u'109175', u'type': u'Created Section', 'class': 'addbold'} , {u'status': u'Active',
[{u'status': u'Active', u'name': u'X', u'orgID': u'109175', u'type': u'Created Section','class': 'addbold'} ,
{u'status': u'Active', u'name': u'A', u'orgID': u'109175', u'type': u'Created Section', 'class': 'addbold'} ,
{u'status': u'Active', u'name': u'G', u'orgID': u'109175', u'type': u'Created Section', 'class': 'addbold'} ,
{u'status': u'Active', u'name': u'D', u'orgID': u'109175', u'type': u'Created Section', 'class': 'addbold'}]
我想根据字典的名称键按字母顺序排列列表项
所以输出是这样的
[{u'status': u'Active', u'type': u'Created Section', u'orgID': u'109175', u'name': u'A', 'class': 'addbold'} ,
{u'status': u'Active', u'type': u'Created Section', u'orgID': u'109175', u'name': u'D', 'class': 'addbold'} ,
{u'status': u'Active', u'type': u'Created Section', u'orgID': u'109175', u'name': u'G', 'class': 'addbold'} ,
{u'status': u'Active', u'type': u'Created Section', u'orgID': u'109175', u'name': u'X', 'class': 'addbold'}]
如何对列表中的列表dict项进行排序?或接受可选的键
功能参数。函数的返回值用于比较元素顺序
>>> lst = [...]
>>> sorted(lst, key=lambda x: x['name'])
[{u'status': u'Active', u'type': u'Created Section', u'orgID': u'109175', u'name': u'A', 'class': 'addbold'},
{u'status': u'Active', u'type': u'Created Section', u'orgID': u'109175', u'name': u'D', 'class': 'addbold'},
{u'status': u'Active', u'type': u'Created Section', u'orgID': u'109175', u'name': u'G', 'class': 'addbold'},
{u'status': u'Active', u'type': u'Created Section', u'orgID': u'109175', u'name': u'X', 'class': 'addbold'}]
可用于代替lambda
功能
import operator
sorted(lst, key=operator.itemgetter('name'))