python - 如何正确排序 Python 字典中的项目?

标签 python dictionary

我在 python 中创建了一个字典来处理购买的变化。

money = { '$100.00' : 0, '$50.00' :  0, '$20.00' : 0,'$10.00' : 0,
              '$5.00' : 0, '$1.00' : 0,'$0.25' : 0, '$0.10' : 0, '$0.05' : 0,
              '$0.01' : 0}

但是,当我想打印这个时,我似乎无法从“从最小到最大”的货币来做到这一点。

这是我试图对其进行排序的方法:

keyList = list(money.keys())
keyList.sort()
for key in keyList:
    print(key, money[key])

然而,给出的结果是...$1 -> $10 -> $100 -> $20...有什么建议,所以它会是 $1 -> $5 -> $10...吗?

最佳答案

排序是按字典顺序进行的,即按字母顺序,一次一个字符。更改您的排序功能以删除美元符号并转换为 float :

keyList.sort(key=lambda x:float(x[1:]))

或者更好的是,从键中删除 "$",让键保持 float ,并且只在打印时添加 "$"

关于python - 如何正确排序 Python 字典中的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21592499/

相关文章:

python - 如何在 iPython/Jupyter Notebook 中调整/重新缩放 SVG 图形?

python - 如何缩放 kivy 切换按钮的图像并保持其纵横比?

Python 在列表中添加具有相同键的字典值

javascript - 如何在 JavaScript 中的 map 函数中使用动态值?

python - Snakemake - 将附加参数传递给输入函数

javascript - 在 ubuntu 中使用 Flask 将 .js 包含在 .html 中时出现引用错误

python - 通过键列表访问嵌套字典项?

c# - 如何使用 Int 删除作为 Double 的 Dictionary 行?

python - 使用 Python 脚本通过运行 csv 文件数据来创建字典列表

python - 循环引用有什么用?