import re
list_data = [
"version_v_8.5.json",
"version_v_8.4.json",
"version_v_10.1.json",
"version_v_10.2.json", ####
"version_v_10.10.json", ####
]
pat = re.compile(r"version_v_(.*).json")
print(max(list_data, key=lambda x: [int(i) for i in pat.match(x).group(1).split(".")]))
2条答案
按热度按时间xeufq47z1#
使用natsort排序,然后获取最后一个元素(最高版本)
产出数量
tzdcorbm2#
您可以执行以下操作:
您感兴趣的数字是正则表达式
r"version_v_(.*).json"
的第一组。然后您需要拆分它以获得数字列表并将每个数字转换为int
。最后,您基本上比较了整数列表,如[8, 5]
、[8, 4]
、[10, 1]
等。这样,它可以正确查找大于
"version_v_10.2.json"
的"version_v_10.10.json"
,因为它们是软件版本。