Python 对包含词典的列表进行排序
我有一个列表,如下所示:Python 对包含词典的列表进行排序,python,sorting,Python,Sorting,我有一个列表,如下所示: some_list = [{'id':1, 'name':'Steve', 'age':23}, {'id':2, 'name':'John', 'age':17}, {'id':3, 'name':'Matt', 'age':31}] 我想根据字典中的名称值对列表进行排序。因此,不是上面的顺序,而是约翰、马特、史蒂夫 我该怎么办?谢谢。您可以使用operator.itemgetter: 或lambda函数: >>> some_list = [dic
some_list = [{'id':1, 'name':'Steve', 'age':23}, {'id':2, 'name':'John', 'age':17}, {'id':3, 'name':'Matt', 'age':31}]
我想根据字典中的名称值对列表进行排序。因此,不是上面的顺序,而是约翰、马特、史蒂夫
我该怎么办?谢谢。您可以使用operator.itemgetter:
或lambda函数:
>>> some_list = [dict(id=1, name='Steve', age=23), dict(id=2, name='John', age=17), dict(id=3, name='Matt', age=31)]
>>> sorted(some_list, key=lambda x: x['name'])
[{'id': 2, 'age': 17, 'name': 'John'}, {'id': 3, 'age': 31, 'name': 'Matt'}, {'id': 1, 'age': 23, 'name': 'Steve'}]
顺便说一句,这些都是无效的dict文本。你试过什么吗?请参阅,以获得一个好的教程。
>>> some_list = [dict(id=1, name='Steve', age=23), dict(id=2, name='John', age=17), dict(id=3, name='Matt', age=31)]
>>> sorted(some_list, key=lambda x: x['name'])
[{'id': 2, 'age': 17, 'name': 'John'}, {'id': 3, 'age': 31, 'name': 'Matt'}, {'id': 1, 'age': 23, 'name': 'Steve'}]