需求:對 [『4.3.17』, 『4.3.16』, 『4.3.9』…] 排序
分析,版本號雖然都是數字,但是不能按照字元的順序排列,因為公升序的話,『4.3.16』 會排在 『4.3.9』 的前面,但實際上應該排在後面,所以我們需要做乙個轉化,就是將這些數字轉成乙個可以排序的東西,再做排序就沒有問題了。
我這裡是將他們的值換算成了 10 進製的數字,**如下:
keys_list =
['4.3.17'
,'4.3.16'
,'4.3.9'
]large_keys =
dict()
for kl in keys_list:
x, y, z = kl.split(
".")
large_keys[
int(x)*10
**4+int
(y)*
10**2+
int(z)
]= kl
print large_keys
# # 處理完之後就很好排序了
當前的**適合特定的情況,當然要看具體需求,比如版本號中有字母,或者版本號的長度不同等,本文旨在提供一種解決問題的思路! 版本號簡述
版本號簡介 版本號一般分為major 主版本號 minor 次版本號 revision incremental 修正版本號 一般格式為major.minor.revison 如何界定軟體什麼時候該用什麼樣的版本號呢?1 專案初版本時 版本號可以為 0.1 或 0.1.0,也可以為 1.0 或 1.0...
比較版本號
題目 比較兩個版本號 version1 和 version2。如果 version1 version2 返回 1,如果 version1 version2 返回 1,除此之外返回 0。你可以假設版本字串非空,並且只包含數字和 字元。字元不代表小數點,而是用於分隔數字序列。例如,2.5 不是 兩個半 ...
比較版本號
比較兩個版本號 version1 和 version2。如果 version1 version2 返回 1,如果 version1 version2 返回 1,除此之外返回 0。你可以假設版本字串非空,並且只包含數字和 字元。字元不代表小數點,而是用於分隔數字序列。例如,2.5 不是 兩個半 也不是...