抱歉,我的第一篇文章必须是个问题。 我做了一些搜索,无法找到基于一个键对字典列表进行排序的方法。
假设我有这个词典列表
[0]{Number:123, Name:Bill, Age:32, Sex:Male}
[1]{Number:93, Name:Billy, Age:23, Sex:Male}
[2]{Number:113, Name:Billie, Age:32, Sex:Female}
[3]{Number:8, Name:Wills, Age:3, Sex: Male}
[4]{Number:8, Name:Wills, Age:4, Sex: Male}
[5]{Number:8, Name:Wills, Age:5, Sex: Male}
[6]{Number:8, Name:Wills, Age:6, Sex: Male}
我想在Number:value上对此列表进行排序或迭代,然后按Age:value进行排序或迭代,以便新列表如下所示
[0]{Number:8, Name:Wills, Age:3, Sex: Male}
[1]{Number:8, Name:Wills, Age:4, Sex: Male}
[2]{Number:8, Name:Wills, Age:5, Sex: Male}
[3]{Number:8, Name:Wills, Age:6, Sex: Male}
[4]{Number:93, Name:Billy, Age:23, Sex:Male}
[5]{Number:113, Name:Billie, Age:32, Sex:Female}
[6]{Number:123, Name:Bill, Age:32, Sex:Male}
到目前为止,我只能对列表中的一个键进行排序,该键对列表中的dict条目进行排序,并保持列表索引相同。这不是我想要的。
sorted_data_list = sorted(data_list, key = lambda x: x['Number'])
编辑:制作列表连续。
答案 0 :(得分:2)
将密钥更改为lambda x :( x [' Number'],x ['年龄'])
这会创建一个元组,元组按第一个元素排序,然后按第二个元素排序。