python列表按照數字排序

2021-10-03 03:26:45 字數 671 閱讀 7045

對形如d1_1_1.bmp的標籤進行排序,要求按照標籤中三個數字按照公升序排序,排序後結果如下

使用sort函式**如下,要排序的列表名為items

items.sort(key =

lambda x:

(int

(x.split(

'_')[0

][1:

]),int

(x.split(

'_')[1

]),int

(x.split(

'_')[2

])))

用lamdba函式指定排序的依據,如果需要多個關鍵字作為依據進行排序,可以用形如lamdba x : (key1, key2, …)的方式指定。在上面的**中三個關鍵字是int(x.split(』』)[0][1:]),int(x.split(』』)[1]),int(x.split(』_』)[3]),以第乙個關鍵字為例進行解釋。首先需要將標籤根據"_「進行分割,即x.split(』_』),然後先按第乙個數字進行排序,取分割後的第一部分x.split(』_』)[0],再去掉數字前的"d」,x.split(』_』)[0][1:]。

Mysql的varchar排序按照數字順序

自己建表的時候,把乙個字段型別建立為varchar 2 其實應該建為int 2 的。因為我只允許輸出數字。這本來也沒什麼,無非就是佔點空間,懶得改了。但是今天在後台發現排序有問題。於是,沒辦法,改之。下面簡單說一下mysql的varchar排序問題,引以為戒。下面,我從資料庫裡面以server id...

Mysql數字字串按照數字排序

mysql字串相信大家都不陌生,在mysql字串排序時經常會遇到一些問題,比如下面的這 今天解決了乙個關於mysql字串排序的很奇怪的問題,在資料裡面定義的是varchar型別,實際存放的是int型別的資料,按一下查詢語句進行排序 將字段 1或者 0可以將mysql字串欄位按數值排序 如 selec...

MySQL 數字字串按照數字排序

乙個關於mysql字串排序,在資料裡面定義的是varchar型別,實際存放的是int型別的資料,按一下查詢語句進行排序 將字段 1或者 0可以將mysql字串欄位按數值排序 如 1 select from table where 1order by id 1desc 或者1 select from ...