Python 将关键字作为dict列表的dict中的列表排序
我正在尝试按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"])) 但这不起作用(不排序列表,我假设
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
至少有一个元素,并且第一个值是唯一重要的值。