Python 2.7 用Python修改字典

Python 2.7 用Python修改字典,python-2.7,dictionary,Python 2.7,Dictionary,我有以下字典: DATA = {"records": [{"key1": "AAA", "key2": "BBB", "key3": "CCC", "key4": "AAA"}]} 我想将“记录”更改为例如“XX”,因此我将有以下内容: DATA = {"XX": [{"key1": "AAA", "key2": "BBB", "key3": "CCC", "key4": "AAA"}]} 我该怎么做?谢谢。您不能以您提供的方式直接更改字符串字典键。这是因为键本身是不可变的,它同样是一个

我有以下字典:

DATA = {"records": [{"key1": "AAA", "key2": "BBB", "key3": "CCC", 
"key4": "AAA"}]}
我想将“记录”更改为例如“XX”,因此我将有以下内容:

DATA = {"XX": [{"key1": "AAA", "key2": "BBB", "key3": "CCC", "key4": 
"AAA"}]}

我该怎么做?谢谢。

您不能以您提供的方式直接更改字符串字典键。这是因为键本身是不可变的,它同样是一个字符串或
str
object。对于其他类型的键,例如用户定义的对象,这不一定是正确的

您唯一的选择是将新键添加到现有词典中,或者使用所需的键创建新词典

您可以将新字典分配给同名的“代码”>“数据”(code>DATA),并将要添加到新字典中的条目(旧字典最终将被垃圾收集):

重要提示:请注意,对旧
数据
字典的任何其他引用都不会更新!因此,新的字典方法可能不是您想要的

或者,如果可以在词典中保留
记录
键,则只需将
XX
成员添加到词典中,并将其指向相同的值:

DATA['XX'] = DATA['records']
最后,如果您都想保留原始词典并从中删除
记录
键,则必须分两步进行:

DATA['XX'] = DATA['records']
del DATA['records']
或:


请注意,即使最后一个建议是一行代码,它仍然分两步出现。

使用:
DATA['XX']=DATA.pop('records',None)
可能重复的
DATA['XX'] = DATA['records']
del DATA['records']
DATA['XX'] = DATA.pop('records')