我在 python 脚本中有一个嵌套字典,我需要将一个新键插入该字典中的一个非常特定的位置。我知道需要插入新钥匙的位置周围钥匙的名称,但我有点困惑如何执行此操作。我唯一的想法是将所有子键添加到临时字典中,将它们从原始字典中删除,添加我想要的内容,然后重新添加原始键,但我认为有一种更简单的方法可以做到这一点。
original_dict = {
"California" : {
"San Diego": 100,
"Los Angeles": 200,
}
}
如何在 SD 和 LA 之间插入键值(“San Francisco”,150)?正在做
original_dict["California"]["San Francisco"]=150
将新密钥添加到末尾,这不是我想要的位置(摄取文件的人也没有)。谷歌一无所获。
正如评论中提到的,您不能在字典中间插入项目。您将必须创建一个新的子词典并将其放入原始词典中。 例如,可以使用元组列表:
original_dict = {
"California" : {
"San Diego": 100,
"Los Angeles": 200,
}
}
parent_key = "California"
new_item = ("San Francisco", 150)
siblings = list(original_dict[parent_key].items())
siblings.append(new_item)
siblings.sort(key = lambda e: e[1])
original_dict[parent_key] = dict(siblings)
print(original_dict)
输出
{'California': {'San Diego': 100, 'San Francisco': 150, 'Los Angeles': 200}}
可以说可以实施更有效的解决方案:
dict.pop
) 插入索引后的元素。