Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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 将关键字作为dict列表的dict中的列表排序_Python_List_Sorting_Lambda - Fatal编程技术网

Python 将关键字作为dict列表的dict中的列表排序

Python 将关键字作为dict列表的dict中的列表排序,python,list,sorting,lambda,Python,List,Sorting,Lambda,我正在尝试按dict的键对列表进行排序,其中的键与其他dict的列表相同 big_list = [{"Key1": 1, "Key2" :2, "Key3": [{"sortable_key": value1, value2, ..}]}] 目标是按可排序键对大列表进行排序。我正在尝试使用lambda完成排序: big_list = list(sorted(big_list, key=lambda x: x["Key3"]["sortable_key"])) 但这不起作用(不排序列表,我假设

我正在尝试按dict的键对列表进行排序,其中的键与其他dict的列表相同

big_list = [{"Key1": 1, "Key2" :2, "Key3": [{"sortable_key": value1, value2, ..}]}]
目标是按可排序键对大列表进行排序。我正在尝试使用lambda完成排序:

big_list = list(sorted(big_list, key=lambda x: x["Key3"]["sortable_key"]))
但这不起作用(不排序列表,我假设它会按字母顺序排序)。我是否试图以错误的方式访问可排序_键,或者使用lambda无法实现这一点

谢谢

大列表的完整示例:

big_list = [{'number': '7',
  'code': '1106',
  'name': 'John',
  'det': [{'subcode': 'AA11','subname': 'Alan','age': 11},
{'subcode': 'CC11','subname': 'Hugo','age': 22},
{'subcode': 'BB11','subname': 'Walt','age': 18}]}]

在这种情况下,我需要按“子代码”对列表进行排序。

您忘记了一个
[0]
,因为
x[“Key3”]
是一个列表:

big_list = list(sorted(big_list, key=lambda x: x["Key3"][0]["sortable_key"]))

“不工作”是什么意思?它有什么作用?如果
key3
中有多个值,您应该按什么排序?
key3
的值是一个列表,可能是
x[“key3”][0][“sortable_key”]
。您还可以提供
big_list
的完整示例吗?假设所有
key3
至少有一个元素,并且第一个值是唯一重要的值。