这是我的格式,dict
:
{
"server" : {
"2" : {
name : "Chris",
text : "Hello!"
},
"1" : {
name : "David",
text : "Hey!"
}
}
}
尽管键是字符串,但如何对数字dict['server']
进行排序?我能想到的所有方法都需要多个名称,并且一点也不觉得Pythonic。
答案 0 :(得分:3)
使用collections.OrderedDict
例如:
import collections
d = {
"server" : {
"2" : {
"name" : "Chris",
"text" : "Hello!"
},
"1" : {
"name" : "David",
"text" : "Hey!"
}
}
}
print collections.OrderedDict(sorted(d["server"].items(), key=lambda x: int(x[0])))
输出:
OrderedDict([('1', {'text': 'Hey!', 'name': 'David'}), ('2', {'text': 'Hello!', 'name': 'Chris'})])