您好,我的文件夾中有 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給我喜歡這個(gè)的數(shù)字列表:>>> 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”,它可以進(jìn)一步優(yōu)化準(zhǔn)確性和性能嗎?
1 回答

偶然的你
TA貢獻(xiàn)1841條經(jīng)驗(yàn) 獲得超3個(gè)贊
您可以將max()函數(shù)與自定義key=函數(shù)一起使用:
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
添加回答
舉報(bào)
0/150
提交
取消