python-3.x 如何对版本进行排序

y1aodyip  于 2023-01-22  发布在  Python
关注(0)|答案(1)|浏览(207)

我正在做一个API,它返回当前所有可用的版本。版本的结构如下:22.12a
22是年份,12是月份,a在我们每次发布另一个版本时都会增加一个字母,并在每个月重置。
我的问题是,我需要对版本进行排序,以便它们可以像这样按发行顺序排列:
["22.12b","22.12a","22.11a","22.9a"]
但我不知道该怎么做。

pes8fvy9

pes8fvy91#

您可以使用natsort.natsorted()

from natsort import natsorted

versions = ['22.12b', '22.12a', '22.11a', '22.9a']

natsorted(versions)

#['22.9a', '22.11a', '22.12a', '22.12b']

也可以通过packging.version.parse()来完成:

from packaging.version import parse

versions = ['22.12b', '22.12a', '22.11a', '22.9a']

versions.sort(key=parse)

#['22.9a', '22.11a', '22.12a', '22.12b']

相关问题