我有以下字典:
DATA = {"records": [{"key1": "AAA", "key2": "BBB", "key3": "CCC",
"key4": "AAA"}]}
我想改变"记录"例如" XX"所以我将有以下内容:
DATA = {"XX": [{"key1": "AAA", "key2": "BBB", "key3": "CCC", "key4":
"AAA"}]}
我该怎么做?谢谢。
答案 0 :(得分:1)
您无法以您呈现的方式直接更改字符串字典键。这样做的原因是密钥本身 - 同样是字符串或str
对象 - 是不可变的。对于其他类型的键,例如对于用户定义的对象,这不一定适用。
您唯一的选择是将新密钥添加到现有字典中,或使用您想要的密钥创建新字典。
您可以为同一个名称DATA
指定一个新词典,并将您想要的词条添加到新词典中(旧词典最终会被垃圾收集):
DATA = {'XX': DATA['records']}
重要提示:请注意,对旧DATA
字典的任何其他引用都不会更新!出于这个原因,新词典方法可能不是你想要的。
或者,如果可以在字典中保留records
键,则只需将XX
成员添加到字典中并将其指向相同的值:
DATA['XX'] = DATA['records']
最后,如果您想要保留原始字典并从中删除records
密钥,则必须分两步执行:
DATA['XX'] = DATA['records']
del DATA['records']
OR:
DATA['XX'] = DATA.pop('records')
请注意,即使是一行代码,最后一个建议仍然分两步进行。