Re: [教學] 排序問題

看板Python作者 (偶爾想擺爛一下)時間15年前 (2009/11/16 22:17), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串5/7 (看更多)
※ 引述《g9678007 (HKE)》之銘言: : 抱歉,剛剛有點太慌亂。 : 小弟是要排序 例如 GG=['NM_M_3.3','NM_M_3.13','NM_M_3.11'] : 我想要照數字大小排序 : 但是如果利用GG.sort() 會變 : ['NM_M_3.11', 'NM_M_3.13', 'NM_M_3.3'] : 他變成只排序小數點後面1然後由小到大 : 我想要的是 : [ 'NM_M_3.3','NM_M_3.11', 'NM_M_3.13'] : 問題是卡在字串裡面前後都夾很多字串,我有想過直接把字理的 : 3.3 3.11 3.13 取出來在轉float比大小就不會有這問題,但是每次的檔名 : 都不是很規則不能單純任位子 如果你沒有辦法說清楚你要排序的規則,就沒有人能夠幫你。 你說你想要的順序是 NM_M_3.3','NM_M_3.11', 'NM_M_3.13',但 3.3, 3.11, 3.13 既不是小->大,也不是大->小,我搞不懂你到底要什麼順序?! 如果你要的是 . 後面的部分當作數字以升冪排序 3 < 11 < 13,那麼把 . 後面的 部分取出來 parse 成 int/long 來排序就可以了。 : 我在舉個例像 : GG=['NM_M_3.3','NM_M_3.13','NM_M_3.11','NM_M_3.9','NM_M_3.1'] : GG.sort() : ['NM_M_3.1', 'NM_M_3.11', 'NM_M_3.13', 'NM_M_3.3', 'NM_M_3.9'] : 問題是我想要的是 : ['NM_M_3.1', 'NM_M_3.3', 'NM_M_3.9', 'NM_M_3.11', 'NM_M_3.13'] : 單純用python語法可以做到嘛? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.173.133.69 ※ 編輯: sbrhsieh 來自: 218.173.133.69 (11/16 22:19)
文章代碼(AID): #1B0LxrOC (Python)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 5 之 7 篇):
2
12
文章代碼(AID): #1B0LxrOC (Python)