这是一个用于比较三个版本号的紧凑代码。注意,这里的字符串比较对所有对都失败了。
from itertools import permutations
for v1, v2 in permutations(["3.10.21", "3.10.3", "3.9.9"], 2):
print(f"\nv1 = {v1}, v2 = {v2}")
print(f"v1 < v2 version.parse(v1) < version.parse(v2)")
print(f"{v1 < v2} {version.parse(v1) < version.parse(v2)}")
这给了我们:
v1='3.10.21', v2='3.10.3'
v1 < v2 version.parse(v1) < version.parse(v2)
True False
v1='3.10.21', v2='3.9.9'
v1 < v2 version.parse(v1) < version.parse(v2)
True False
v1='3.10.3', v2='3.10.21'
v1 < v2 version.parse(v1) < version.parse(v2)
False True
v1='3.10.3', v2='3.9.9'
v1 < v2 version.parse(v1) < version.parse(v2)
True False
v1='3.9.9', v2='3.10.21'
v1 < v2 version.parse(v1) < version.parse(v2)
False True
v1='3.9.9', v2='3.10.3'
v1 < v2 version.parse(v1) < version.parse(v2)
False True
Permutations (iterable, 2)给出了一个可迭代对象的所有长度为2的排列。例如,
list(permutations('ABC', 2))
给了我们[(A, B), (' A ', ' C '), (A, B),(“B”、“C”)(“C”,“A”),(“C”、“B”)]。