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

时间:2017-09-18 15:33:05

标签: python sorting alphanumeric

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

1 个答案:

答案 0 :(得分:2)

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

  

parse_version(version)   解析了PEP 440定义的项目版本字符串。返回的值将是表示版本的对象。 可以将这些对象相互比较并进行排序。

演示:

>>> 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'