首页 > 解决方案 > 需要帮助对每个条目中包含字母和数字的列表进行排序

问题描述

在我的代码中,我需要让用户输入购物清单的项目,然后按价格降序对该清单进行排序。

例如,如果用户在哪里输入

: 黄油 1.70, 咖啡 4.99, 牛奶 0.45, 厨房毛巾 1.75, 洗衣粉 6.20

输出应该是:

洗衣粉 6.20,咖啡 4.99,厨房毛巾 1.75,黄油 1.70,牛奶 0.45

但是我完全坚持如何实际做到这一点。欢迎任何帮助,在此先感谢。

标签: python

解决方案


不是那么强大,但它有效。

import re
value = lambda x: list(map(float,re.findall("\d+\.\d+", x)))

s = "Butter 1.70, Coffee 4.99, Milk 0.45, Kitchen Towel 1.75, Washing powder 6.20"
items = s.split(',')
items.sort(key=value, reverse=True)
print(', '.join(items))

洗衣粉 6.20,咖啡 4.99,厨房毛巾 1.75,黄油 1.70,牛奶 0.45


推荐阅读