如何更改字典的索引值?

How to change index values of a dict?

是否可以更改已排序字典的值?

按字母顺序对 dict 进行排序后,我得到了这样的结果:

OrderedDict([('a', {'index': 3, 'parent': None}),
             ('a/b', {'index': 2, 'parent': 'a'}),
             ('a/b/c', {'index': 4, 'parent': 'a/b'}),
             ('a/b/d', {'index': 1, 'parent': 'a/b'})])

这个字典有更多的 key/value 对,我的预期输出是保持它按字母顺序排序但改变索引值,所以它看起来像这样:

OrderedDict([('a', {'index': 1, 'parent': None}),
             ('a/b', {'index': 2, 'parent': 'a'}),
             ('a/b/c', {'index': 3, 'parent': 'a/b'}),
             ('a/b/d', {'index': 4, 'parent': 'a/b'})])

我该怎么做?

迭代字典的值并设置每个值的 index:

for i, value in enumerate(dct.values(), start=1):
    value['index'] = i