python - 需要帮助对每个条目中包含字母和数字的列表进行排序
问题描述
在我的代码中,我需要让用户输入购物清单的项目,然后按价格降序对该清单进行排序。
例如,如果用户在哪里输入
: 黄油 1.70, 咖啡 4.99, 牛奶 0.45, 厨房毛巾 1.75, 洗衣粉 6.20
输出应该是:
洗衣粉 6.20,咖啡 4.99,厨房毛巾 1.75,黄油 1.70,牛奶 0.45
但是我完全坚持如何实际做到这一点。欢迎任何帮助,在此先感谢。
解决方案
不是那么强大,但它有效。
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
推荐阅读
- sorting - 如何在 Elasticsearch 中使用多个字段匹配对存储桶中的文档进行排序?
- c++ - 取决于时间的重新绘制函数,Qt
- applescript - 如何对其进行编码,以便在不同的地方同时弹出两个警报?
- postgresql - 为什么 PostgreSQL 为 daterange 构造了不正确的括号?
- visual-studio-code - 如何在 VS Code 中打开扩展页面?
- php - 是否可以通过使用 base64 来避免 SQL 注入
- email - 如何绕过谷歌 2 因素身份验证从第三方应用程序发送电子邮件?
- python - 无法从python中的嵌套列表中找出键值
- c - 在主函数中调用函数时卡住
- python - 分区后增量表存储中出现意外的新文件?