iT邦幫忙

0

python 將 list重新排序

  • 分享至 

  • xImage

path = "/content/drive/My Drive/mm"
os.chdir(path)
a = os.listdir(path)

['2142.jpg', '2143.jpg', '2144.jpg', '2145.jpg', '2146.jpg', '2147.jpg', '2148.jpg', '2149.jpg', '2150.jpg', '2151.jpg', '2152.jpg', '2153.jpg', '2154.jpg', '2155.jpg', '2156.jpg', '2157.jpg', '2158.jpg', '2159.jpg', '2160.jpg'...

我的list裡面有很多jpg但是我想要將他們前面的排序由小到大
sorted對這個不起作用
想請問大家有沒有甚麼辦法還可以達成這個目的

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

2
froce
iT邦大師 1 級 ‧ 2020-04-19 13:51:22
最佳解答

用sorted/sort的key參數。

l = ['2156.jpg','2142.jpg', '2143.jpg', '2148.jpg', '2144.jpg', '2145.jpg', '2146.jpg', '2147.jpg', '2149.jpg', '2150.jpg', '2151.jpg', '2152.jpg', '2153.jpg', '2154.jpg', '2155.jpg', '2158.jpg', '2159.jpg', '2157.jpg', '2160.jpg']

print(sorted(l, key=lambda x: int(x.replace(".jpg", ""))))
看更多先前的回應...收起先前的回應...

好奇問一下
如果是 365.jpg 會在最前面還是最後面
/images/emoticon/emoticon19.gif

canon760d iT邦新手 5 級 ‧ 2020-04-19 19:50:03 檢舉

感謝!!!可以用

canon760d iT邦新手 5 級 ‧ 2020-04-19 22:53:24 檢舉

回復樓上 最前面喔

froce iT邦大師 1 級 ‧ 2020-04-19 22:59:40 檢舉

key是用int去排,所以就照數字大小去排了。

我要發表回答

立即登入回答