用字母和数字很好地排序版本

sort version nicely with letters and numbers

出于某种原因我找不到这个例子 我想很好地排序版本号。 例如 [v2,v10,v1] 到 [v1,v2,v10] 我真的只需要最大,但我也找不到任何东西。

不要重新发明.whl,你可以使用pkg_resources

parse_version(version) Parsed a project’s version string as defined by PEP 440. The returned value will be an object that represents the version. These objects may be compared to each other and sorted.

演示:

>>> from pkg_resources import parse_version
>>> data = ['v2', 'v10', 'v1', 'v2.1', 'v2.1.1']
>>> sorted(data, key=parse_version)
['v1', 'v2', 'v2.1', 'v2.1.1', 'v10']

您也可以将其作为查找最新版本的密钥:

>>> max(data, key=parse_version)
'v10'