python - 如何在不导入模块的情况下按值类型对字典进行排序

标签 python string methods dictionary

我正在尝试对这本字典进行排序:

dictionary = {24249:"t",390395:"b",90395:"q",5939:"z",1:"k",3909:"a"}

我见过人们使用 lambda 来做到这一点,但我试图仅使用 dict 方法来解决这个问题。

我能够订购这些值:

ordered = sorted(dictionary.values())

但我不知道如何访问有序值的键。

最佳答案

在 Python 中,字典本质上是无序的。如果需要,您可以将字典转换为元组列表:

result = sorted(dictionary.items(),key=lambda x: x[1])

这会给你:

[(3909, 'a'), (390395, 'b'), (1, 'k'), (90395, 'q'), (24249, 't'), (5939, 'z')]

关于python - 如何在不导入模块的情况下按值类型对字典进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17887386/

相关文章:

python - Pandas DatetimeIndex + seasonal_decompose = 缺失频率

python - 我如何一次对两个不同的列求和,其中一个列包含 pandas 中的 Decimal 对象?

javascript - 用于字母数字字符和数字范围组合的正则表达式

regex - 增加字符串中的数字并将其填充为零

ruby - 为什么一些未定义的方法(例如 Foo)没有被 `method_missing` 捕获?

javascript - 为什么 new 和 object.create 在此示例中表现不同

python - 使 pyplot.hist() 第一个和最后一个 bin 包含离群值

python - 类型错误 : object of type 'Tensor' has no len() when using a custom metric in Tensorflow

C# Linq - 如果输入不等于任何字符串 []

java - 限定方法调用是否会降低 Java 中的性能?