如何更改嵌套字典的键
我该如何修改一个嵌套字典中的键呢?
比如,我想把下面这个data1
里的"yes"
改成"no"
,该怎么做:
dc = {'data1': {'yes': 'abc'}, 'data2': {'yes': 'xyz'}}
# CODES to get the result below:
dc = {'data1': {'no': 'abc'}, 'data2': {'yes': 'xyz'}}
dc[data1] = 'no' # won't work.
任何帮助都非常感谢!
1 个回答
6
要修改一个字典,只需要直接引用你想要更改的那个字典。
>>> d = {'data1': {'yes': 'abc'}, 'data2': {'yes': 'xyz'}}
>>> d['data1']['no'] = d['data1'].pop('yes')
>>> d
{'data2': {'yes': 'xyz'}, 'data1': {'no': 'abc'}}
如果你想把所有字典中 yes
的条目都改掉,就需要用一个循环来遍历 dict.values
。
>>> d = {'data1': {'yes': 'abc'}, 'data2': {'yes': 'xyz'}}
>>> for nested_d in d.values():
... nested_d['no'] = nested_d.pop('yes')
...
>>> d
{'data1': {'no': 'abc'}, 'data2': {'no': 'xyz'}}