当键是由字符串表示的分数时,如何按值对dict进行排序?

zal*_*kap 2 python dictionary

我需要对一个字典进行排序,其中键是由字符串表示的分数,需要按其数值排序:

即:

exp_time = {"2":10, "1/2":5:, "2.5":11, "1/200":9, "15":3, "1/30":6}
Run Code Online (Sandbox Code Playgroud)

结果应该是这样的(降序):

15
2.5
2
1/2
1/30
1/200
Run Code Online (Sandbox Code Playgroud)

And*_*ark 12

>>> import fractions
>>> exp_time = {"2":10, "1/2":5, "2.5":11, "1/200":9, "15":3, "1/30":6}
>>> sorted(exp_time, key=fractions.Fraction, reverse=True)
['15', '2.5', '2', '1/2', '1/30', '1/200']
Run Code Online (Sandbox Code Playgroud)

  • Python标准库FTW. (2认同)
  • +1,我不知道`fractions`模块.我准备发布相同的答案,但手动实现`fractions.Fraction`. (2认同)