作者wadd (醜男轉世-低調)
看板Python
標題[問題] sort dict key
時間Sat Aug 21 17:12:43 2010
{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)
推 ckclark:sort的目的是? 08/21 17:27
→ wadd:為了把第一個 pop 出來…我希望是有序的, 08/21 17:31
→ wadd:練習寫一個演算法啦^^, 08/21 17:31
推 ya790206:python 2.7 有OrderedDict, 詳見官網 08/21 17:51
→ ya790206:OrderedDict(sorted(d.items(), key=lambda t: t[0])) 08/21 17:52
→ ya790206:記得from collections import OrderedDict 08/21 18:16
→ wadd:非常感謝樓上,看來還是要自己寫個小 fun 來排 08/21 20:51
→ wadd:有時覺得在一些小地方真的看得不夠…寫程式就很像在寫 C 08/21 20:52
→ wadd:沒把 python 的功能用到盡善盡美。 08/21 20:52
→ ya790206:上面那段程式碼就幫你排好了阿,不用自己寫fun吧? 08/21 21:03
推 COLDTURNIP:也許他想要寫成 2.6- 相容吧 08/21 22:30
推 apua:如果2.6以下的話,dict無序,那就再做一個key的tuple來索引 08/22 02:43