我有一些需要按名稱排序的文件,不幸的是我不能使用常規排序,因爲我也想排序字符串中的數字,所以我做了一些研究,發現我我正在尋找叫做natural sorting
。Python自然排序
我試着給出的解決方案here,它的工作完美。
然而,對於像PresserInc-1_10.jpg
和PresserInc-1_11.jpg
串導致特定自然密鑰算法失敗,因爲它僅匹配在這種情況下會1
和1
的第一個整數,所以它拋出了排序。所以我認爲可能會幫助的是匹配字符串中的所有數字並將它們組合在一起,所以如果我有PresserInc-1_11.jpg
算法應該給我回111
,所以我的問題是,這可能嗎?
這裏的文件名列表:
files = ['PresserInc-1.jpg', 'PresserInc-1_10.jpg', 'PresserInc-1_11.jpg', 'PresserInc-10.jpg', 'PresserInc-2.jpg', 'PresserInc-3.jpg', 'PresserInc-4.jpg', 'PresserInc-5.jpg', 'PresserInc-6.jpg', 'PresserInc-11.jpg']
我不明白你的問題...請張貼更加清晰的輸入和輸出預計在 –