Python按键的值排序字典列表

时间:2017-07-26 03:45:19

标签: python list sorting dictionary

抱歉,我的第一篇文章必须是个问题。 我做了一些搜索,无法找到基于一个键对字典列表进行排序的方法。

假设我有这个词典列表

[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']) 

编辑:制作列表连续。

1 个答案:

答案 0 :(得分:2)

将密钥更改为lambda x :( x [' Number'],x ['年龄'])

这会创建一个元组,元组按第一个元素排序,然后按第二个元素排序。

相关问题