Skip to main content
 首页 » 编程设计

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

2025年05月04日18zfyouxi

我在 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 ,并且只在打印时添加 "$"