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')