python - Python - 如何在列表中保持最小数字(从字符串转换为整数)?
问题描述
如果我有一个元素列表,例如:
items = ["058529-08704-200280", "058529-08704-230330", "058529-08704-140200", "058529-08704-290390",
"058529-08705-140200", "058529-08705-230330", "058529-08704-170240", "058529-08705-290390",
"058529-08705-170240"]
我想在第二个“ - ”之后保留数字最小的元素。但是,它们必须与字符串中前两个数字相同的元素进行比较。
例如,以 开头的字符串058529-08704
,最小的数字是058529-08704-140200
,对于058529-08705
,最小的数字是058529-08705-140200
所以最终列表必须以["058529-08704-140200", "058529-08705-140200"]
.
什么是最 Pythonic 的方式来实现这一点,而不是编写多个 if 或使用字符串操作?
解决方案
items = ["058529-08704-200280", "058529-08704-230330", "058529-08704-140200", "058529-08704-290390",
"058529-08705-140200", "058529-08705-230330", "058529-08704-170240", "058529-08705-290390",
"058529-08705-170240"]
lst_3th_num = []
for item in items:
lst_3th_num.append(int(item.split('-')[2]))
result = []
for item in items:
if int(item.split('-')[2]) == min(int(s) for s in lst_3th_num):
result.append(item)
print(result)
推荐阅读
- java - 无法使用 Java 从 XML 中读取节点元素及其值
- image - 如何保持在jspdf中添加的图像的纵横比
- node.js - 来自 Amazon Lambda 上 ffmpeg 的 SIGSEGV
- python - 导入其他文件并使用 main 中的函数
- jquery - Javascript 从谷歌获取建筑物的图像
- python - 调用 .to_excel 时“异常未处理:至少一张表必须可见”
- python - 如何规范化数据框的列,忽略其中的 None 值?
- javascript - 滚动事件以移动 div 并没有始终如一地朝着正确的方向前进
- r - 拆分基于行的矩阵
- swift - 如何在 UIPickerView 中引用选定的行?