相关疑难解决方法(0)

对点分隔数字列表进行排序,如软件版本

我有一个包含版本字符串的列表,例如:

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.32.2.2之前2.2.3.

我如何在Python中执行此操作?

python

62
推荐指数
4
解决办法
2万
查看次数

在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)

python sorting distutils

8
推荐指数
4
解决办法
5238
查看次数

标签 统计

python ×2

distutils ×1

sorting ×1