Sayorig
是一个OrderedDict
包含普通 string:string 键值对的值,但有时该值可能是另一个嵌套的值OrderedDict
。
我想orig
按字母顺序(升序)按键排序,然后递归地进行。
规则:
- 假设键字符串是不可预测的
- 假设嵌套可以无限进行,例如级别 1-50 都有字符串、OrderedDicts 等作为值。
需要sorted
算法帮助:
import string
from random import choice
orig = OrderedDict((
('a', choice(string.digits)),
('b', choice(string.digits)),
('c', choice(string.digits)),
('special', OrderedDict((
('a', choice(string.digits)),
('b', choice(string.digits)),
('c', choice(string.digits)),
)))
))
sorted_copy = OrderedDict(sorted(orig.iteritems(), ...))
self.assertEqual(orig, sorted_copy)