我在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 ...?
最佳答案
排序是按字典顺序(即按字母顺序)一次进行。更改您的排序功能以删除美元符号并转换为浮点数:
keyList.sort(key=lambda x:float(x[1:]))
或者更好的方法是,从键中删除
"$"
,使键浮动,仅在打印时添加"$"