您好,我的文件夾中有 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
提交
取消