您好,我的文件夹中有 json 文件列表。['user_sample_v001.json', 'user_sample_v002.json', 'user_sample_v105.json']所以Python方式我正在尝试获取最新版本>>> for item in lst:... print os.path.splitext(item.split("_")[-1])[0]v001v002v105给我喜欢这个的数字列表:>>> for version in versions:... number = ""... for num in version:... if num.isdigit():... number = "{0}{1}".format(number, num)... nums.append(number)... >>> nums['001', '002', '105']然后我可以做 max(nums) 给我'105'然后我可以这样检查:for user_sample in lst: if max_num in user_sample: print user_sample这给了我“user_sample_v105.json”,它可以进一步优化准确性和性能吗?
1 回答
偶然的你
TA贡献1841条经验 获得超3个赞
您可以将max()函数与自定义key=函数一起使用:
import re
lst = ['user_sample_v001.json', 'user_sample_v002.json', 'user_sample_v105.json']
pattern = re.compile(r'_v(\d+)\.json')
m = max(lst, key=lambda k: int(pattern.search(k).group(1)))
print(m)
印刷:
user_sample_v105.json
添加回答
举报
0/150
提交
取消