我有一個包含檔案名稱的檔案夾,我想用這些名稱列出并對其進行排序,但結果很奇怪。你知道我做錯了什么嗎?
list = [ '10.50-178.pom', '15.00-178.pom','100.0-178.pom', '11.00-178.pom', '110.0-178.pom',
'120.0-178.pom', '130.0-178.pom', '10.00-178.pom', '140.0-178.pom' ]
print(sorted(list))
結果: ['10.00-178.pom', '10.50-178.pom', '100.0-178.pom', '11.00-178.pom', '110.0-178.pom', '120.0-178.pom', '130.0-178.pom', '140.0-178.pom', '15.00-178.pom']
uj5u.com熱心網友回復:
您需要指出前五個字符實際上是一個數字,因為現在每個字符都被單獨考慮。
lista = ['10.50-178.pom', '15.00-178.pom', '100.0-178.pom', '11.00-178.pom', '110.0-178.pom',
'120.0-178.pom', '130.0-178.pom', '10.00-178.pom', '140.0-178.pom']
def take_elem(elem):
return float(elem[:4])
sorted_list = sorted(lista, key=take_elem)
print(sorted_list)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/373435.html
上一篇:使用c#對自定義鏈接串列進行排序
