如何更改嵌套字典的键

1 投票
1 回答
5347 浏览
提问于 2025-04-18 06:55

我该如何修改一个嵌套字典中的键呢?

比如,我想把下面这个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'}}

撰写回答