我正在做一个API,它返回当前所有可用的版本。版本的结构如下:22.12a22是年份,12是月份,a在我们每次发布另一个版本时都会增加一个字母,并在每个月重置。我的问题是,我需要对版本进行排序,以便它们可以像这样按发行顺序排列:["22.12b","22.12a","22.11a","22.9a"]但我不知道该怎么做。
22.12a
22
12
a
["22.12b","22.12a","22.11a","22.9a"]
pes8fvy91#
您可以使用natsort.natsorted():
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()来完成:
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']
1条答案
按热度按时间pes8fvy91#
您可以使用
natsort.natsorted()
:也可以通过
packging.version.parse()
来完成: