如何更改字典的索引值?
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
是否可以更改已排序字典的值?
按字母顺序对 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