[問題] sort dict key

看板Python作者 (醜男轉世-低調)時間15年前 (2010/08/21 17:12), 編輯推噓4(408)
留言12則, 5人參與, 最新討論串1/1
{66: [35, 36], 5: [12, 30], 8: [8, 25], 20: [9, 36], 26: [6, 11], 30: [7, 13], 38: [18, 53], 45: [13, 55], 48: [3, 27], 55: [23, 53], 61: [2, 3]} 我想把他排成 {5: [12, 30], 8: [8, 25], 20: [9, 36], 26: [6, 11], 30: [7, 13], 38: [18, 53], 45: [13, 55], 48: [3, 27], 55: [23, 53], 61: [2, 3], 66: [35, 36]} 我明明依序著 key 去 update 為什麼最後出來的結果還是亂的? 我剛試了一個笨方法 就是先產生一個 dict ,內容為 {1:[], 2:[], 3:[], .... 66:[]} 再把 list update … 最後移除空的 list -- 早睡早起身體好,事事順心沒煩惱,電腦若是修得好,好人絕對當到老。 辜狗若是用的好,正妹一定會來找,一旦問題解決了,只會說聲你真好。 資工好人真正慘,電腦永遠修不完,整夜工作有夠幹,明早還得送去還。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.233.220.230 ※ 編輯: wadd 來自: 118.233.220.230 (08/21 17:27)

08/21 17:27, , 1F
sort的目的是?
08/21 17:27, 1F

08/21 17:31, , 2F
為了把第一個 pop 出來…我希望是有序的,
08/21 17:31, 2F

08/21 17:31, , 3F
練習寫一個演算法啦^^,
08/21 17:31, 3F

08/21 17:51, , 4F
python 2.7 有OrderedDict, 詳見官網
08/21 17:51, 4F

08/21 17:52, , 5F
OrderedDict(sorted(d.items(), key=lambda t: t[0]))
08/21 17:52, 5F

08/21 18:16, , 6F
記得from collections import OrderedDict
08/21 18:16, 6F

08/21 20:51, , 7F
非常感謝樓上,看來還是要自己寫個小 fun 來排
08/21 20:51, 7F

08/21 20:52, , 8F
有時覺得在一些小地方真的看得不夠…寫程式就很像在寫 C
08/21 20:52, 8F

08/21 20:52, , 9F
沒把 python 的功能用到盡善盡美。
08/21 20:52, 9F

08/21 21:03, , 10F
上面那段程式碼就幫你排好了阿,不用自己寫fun吧?
08/21 21:03, 10F

08/21 22:30, , 11F
也許他想要寫成 2.6- 相容吧
08/21 22:30, 11F

08/22 02:43, , 12F
如果2.6以下的話,dict無序,那就再做一個key的tuple來索引
08/22 02:43, 12F
文章代碼(AID): #1CRvYEGZ (Python)
文章代碼(AID): #1CRvYEGZ (Python)