作者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)
1F:推 ckclark:sort的目的是? 08/21 17:27
2F:→ wadd:为了把第一个 pop 出来…我希望是有序的, 08/21 17:31
3F:→ wadd:练习写一个演算法啦^^, 08/21 17:31
4F:推 ya790206:python 2.7 有OrderedDict, 详见官网 08/21 17:51
5F:→ ya790206:OrderedDict(sorted(d.items(), key=lambda t: t[0])) 08/21 17:52
6F:→ ya790206:记得from collections import OrderedDict 08/21 18:16
7F:→ wadd:非常感谢楼上,看来还是要自己写个小 fun 来排 08/21 20:51
8F:→ wadd:有时觉得在一些小地方真的看得不够…写程式就很像在写 C 08/21 20:52
9F:→ wadd:没把 python 的功能用到尽善尽美。 08/21 20:52
10F:→ ya790206:上面那段程式码就帮你排好了阿,不用自己写fun吧? 08/21 21:03
11F:推 COLDTURNIP:也许他想要写成 2.6- 相容吧 08/21 22:30
12F:推 apua:如果2.6以下的话,dict无序,那就再做一个key的tuple来索引 08/22 02:43