在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])}

但由于某种原因,它似乎不起作用,该字典仍然保持原始状态。


手掌心
浏览 95回答 2
2回答

慕尼黑8549860

你的关键是1[1]哪个是无效的Python。你想要i[1]。这个改变就能做到。

胡说叔叔

使用这个:d = {"string0": 0, "string2": 2, "string1": 1}sorted_x = sorted(d.items(), key=lambda kv: kv[1])print(sorted_x)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python