在 python 中对以版本为键的字典列表进行排序

implement sorting for list of dictionary having versions as key in python

我正在尝试在以下代码中使用 StrictVersion

from distutils.version import StrictVersion
from operator import itemgetter

v = [{'ver': '1.1.12'},{'ver': '1.0.0'},{'ver': '1.3.3'},{'ver': '1.0.12'},{'ver': '1.0.2'}]
v.sort(key=itemgetter("ver"),reverse=True)

这是基于以下代码的版本排序,但在上面的代码中排序不正确。

versions = ["1.1.2", "1.0.0", "1.3.3", "1.0.12", "1.0.2"]
versions.sort(key=StrictVersion,reverse=True)

如何使用上面的key=StrictVersion键?或者有其他选择吗?

所有键都相同,当它们都相同时,您打算如何对键进行排序?

对于版本部分,您可以使用:

list_to_sort = ['1.1.4', '1.6.9', '1.1.2']
sorted(list_to_sort, key=lambda version: int(''.join(["%02X" % int(i) for i in version.split('.')]), 16))
v.sort(key = lambda x:StrictVersion( x['ver']),reverse=True)
[{'ver': '1.3.3'},
 {'ver': '1.1.12'},
 {'ver': '1.0.12'},
 {'ver': '1.0.2'},
 {'ver': '1.0.0'}]