首页 > 解决方案 > 在 Python 3.7 中按值对 python dict 进行排序

问题描述

我有一个如下的字典:

d = {"string0": 0, "string2": 2, "string1": 1}

我想按 int 值对其进行排序,以便它喜欢:

d = {"string0": 0, "string1": 1, "string2": 2}

我知道我可以借助带有 lambda 函数的内置函数sorted()指定key参数对列表进行排序,如下所示:

sorted_d = {k: v for k, v in sorted(d.items(), key=lambda i: i[1])}
       

但由于某种原因,它似乎不起作用,字典仍然是原始的。

标签: pythonsortinglambdapython-3.7built-in

解决方案


您的密钥是1[1]无效的 Python。你想要i[1]。这种改变会做到的。


推荐阅读