37,719
社区成员
发帖
与我相关
我的任务
分享
#这样方便一点也好理解一点
version = ['1.0.1', '1.0.2', '1.0.21', '1.2.9', '1.2.11']
version.sort(key=lambda x:tuple(int(v) for v in x.split(".")))
>>> a = [(1,2,3),(9,2,3),(10,3,21),(10,4,1)]
>>> max(a)
(10, 4, 1)
>>> a = [(1,2,3),(9,2,3),(10,3,21),(10,4,1),(10,5)]
>>> max(a)
(10, 5)
version = ['1.0.1', '1.0.2', '1.0.21', '1.2.9', '1.2.11']
max([tuple(int(v) for v in vs.split(".")) for vs in version ])
def cmp2(x, y):
a = x.split(".", 1)
b = y.split(".", 1)
c = cmp(int(a[0]), int(b[0]))
if c != 0 :
return c
else :
if len(a) > 1 and len(b) > 1 :
return cmp2(a[1], b[1])
else :
return 0
def cmp2(x, y):
a = x.split(".", 1)
b = y.split(".", 1)
c = cmp(int(a[0]), int(b[0]))
if c != 0 :
return c
else :
print("a1", a[1], "b1", b[1])
if a[1] and b[1] :
return cmp2(a[1], b[1])
else :
return 0