Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 对包含词典的列表进行排序_Python_Sorting - Fatal编程技术网

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'}]