如何根据字典的键进行排序?
示例输入:
{2:3, 1:89, 4:5, 3:0}
期望的输出:
{1:89, 2:3, 3:0, 4:5}
如何根据字典的键进行排序?
示例输入:
{2:3, 1:89, 4:5, 3:0}
期望的输出:
{1:89, 2:3, 3:0, 4:5}
__lt__
)的类型,那么你可以使用以下易于理解的一行代码:dict(sorted(your_dict.items(), key=lambda _: _[0]))
。这行代码将对字典进行排序并转换为字典格式。我的建议是这样的,因为它允许您对字典进行排序或在添加项目时保持字典排序,并且可能需要在将来添加项目:
从头开始构建一个dict
。有第二个数据结构,即列表,其中包含您的键列表。bisect包具有insort函数,允许将其插入到已排序的列表中,或者在完全填充字典后对列表进行排序。现在,当您遍历字典时,您可以遍历列表以按顺序访问每个键,而不必担心字典结构的表示(该结构不适用于排序)。
dict(sorted(my_dict.items(), key=lambda x: x[0]))
dict(sorted(my_dict.items(), key=lambda x: x[1]))
TreeMap
(https://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html),它的行为完全符合OP的要求。 - Nayuki