列表中的嵌套字典如下所示:
lista = [{stuff1: {key1: value1, key2: value2}},
{stuff2: {keya: valuea, keyb: valueb}}]
我如何从该列表中复制元素0,使其成为一个新的字典?它是如此简单:dicta = {lista[0]}
。
这里的背景是我使用枚举来向用户显示填充键,要求他选择他想要使用的东西。然后,他只需输入"数字"枚举索引显示给定键。因为我在index = 1处开始枚举,所以我从他输入的数字中减去1,这给了我列表中与他需要的字典相对应的元素。
我现在的想法是,我知道用户想要的字典,我可以将该特定元素从lista移到新的字典中,以便进一步操作。也许我正在思考它,还有另一种方法可以简单地将lista保留下来并仍然按照我的意愿行事。
答案 0 :(得分:1)
您可以使用copy
dicta = list[0].copy()
演示
>>> l
[{1: 'aaa'}, {2: 'b'}]
>>> a = l[0].copy()
>>> a[1] = 'xxx'
>>> a
{1: 'xxx'}
>>> l
[{1: 'aaa'}, {2: 'b'}]
>>>
然后新的词典是它自己的词典;修改它不会影响列表中的元素
如果您执行dicta = list[0]
,则dicta
的任何修改都会修改列表; [作为其shallow copy/reference copy
]