我有一个包含版本字符串的列表,例如:
versions_list = ["1.1.2", "1.0.0", "1.3.3", "1.0.12", "1.0.2"]
Run Code Online (Sandbox Code Playgroud)
我想对它进行排序,结果将是这样的:
versions_list = ["1.0.0", "1.0.2", "1.0.12", "1.1.2", "1.3.3"]
Run Code Online (Sandbox Code Playgroud)
数字的优先顺序显然应该是从左到右,它应该是降序.所以1.2.3来之前2.2.3和2.2.2之前2.2.3.
我如何在Python中执行此操作?
我试图得到它,以便1.7.0在1.7.0.rc0之后,但在1.8.0之前,因为它应该排序版本.我认为LooseVersion的重点在于它正确地处理了这种事情的排序和比较.
>>> from distutils.version import LooseVersion
>>> versions = ["1.7.0", "1.7.0.rc0", "1.8.0"]
>>> lv = [LooseVersion(v) for v in versions]
>>> sorted(lv, reverse=True)
[LooseVersion ('1.8.0'), LooseVersion ('1.7.0.rc0'), LooseVersion ('1.7.0')]
Run Code Online (Sandbox Code Playgroud)