第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

以數(shù)字方式對字符串列表進行排序

以數(shù)字方式對字符串列表進行排序

牛魔王的故事 2021-06-29 10:32:27
我有一個包含我的文件名的字符串列表:flist = ['0.png','10.png', '3.png', '4.png', '100.png']flist.sort()print(flist)輸出:['0.png', '10.png', '100.png', '3.png', '4.png']但是我想要:['0.png', '3.png', '4.png', '10.png', '100.png']有沒有一種簡單的方法可以做到這一點?
查看完整描述

2 回答

?
縹緲止盈

TA貢獻2041條經(jīng)驗 獲得超4個贊

是的:

flist.sort(key=lambda fname: int(fname.split('.')[0]))

解釋:字符串按詞法排序所以"10"在之前"3"(因為"1""3",所以"1"第一個字符串中的任何內容都被忽略)。所以我們使用list.sort()'skey參數(shù),它是一個回調函數(shù),它接受一個列表項并返回用于排序該項的值 - 在您的情況下,是從文件名的第一部分構建的整數(shù)。這樣,列表就按數(shù)值正確排序。


查看完整回答
反對 回復 2021-07-13
?
四季花海

TA貢獻1811條經(jīng)驗 獲得超5個贊

你也可以這樣做:


flist = ['0.png','10.png', '3.png', '4.png', '100.png']

flist.sort(key=lambda x: '{0:0>8}'.format(x))

print(flist)


查看完整回答
反對 回復 2021-07-13
  • 2 回答
  • 0 關注
  • 206 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號