【发布时间】:2020-11-25 21:24:18
【问题描述】:
是否有一种简单的方法可以按键“#1”的值对以下 Python d:dict 进行排序。输出应如 o:dict 中所示? 我希望能够以不同类型的顺序打印,例如带有 asc/desc 键的 html 表格。 我知道如何使用 sorted() 对简单的 key:value 进行排序,但是当值如下所示时,我不知道该怎么做! 我正在使用 CPython 3.9
d:dict = { 'aaa': {'#1': 9, '#2':34, '#3': 5},
'bbb': {'#1': 11, '#2': 15, '#3': 7},
'ccc': {'#1': 6, '#2': 3, '#3': 6} }
o:dict = { 'ccc': {'#1': 6, '#2': 3, '#3': 6},
'aaa': {'#1': 9, '#2': 34, '#3': 5},
'bbb': {'#1': 11, '#2': 15, '#3': 7} }
【问题讨论】:
-
这是一个字典。你为什么关心订单? (不同版本的 Python 会不一致)
-
欢迎来到 SO!你试过什么了?我们在这里更多地帮助解决“我尝试了 X,但它没有达到我的预期,而是导致错误!”形式的特定问题。伴随着Minimal, Complete, and Verifiable example
-
@DeepSpace CPython 字典从 Python 3.6 开始按插入排序,这是受支持的最旧的 Python 版本。
-
@Boris 你的意思是 Python 3.7,但这并不意味着 OP 应该订购现有的字典。
-
@DeepSpace 不,我的意思是 CPython 3.6。它是在 CPython 3.6 中实现的,然后从 Python 3.7 开始成为所有其他 Python 实现所必需的。
标签: python sorting dictionary