我在解析XML的for循环中有数据。我不会深入循环的代码,因为我认为它在这种情况下是无关紧要的。
在循环的末尾是如下所示的字典。计数根据我循环了多少次而有所不同。这个变量称为cargroup。
{colour: 'red', make: 'Ford', model: 'Focus'}
{colour: 'blue', make: 'VW', model: 'GTI'}
当我打印cargroup字典类型时,我得到以下信息
<dict>
<dict>
和长度
3
3
我想将cargroup字典添加到列表中,以便我的输出看起来是这样的
[{colour: 'red', make: 'Ford', model: 'Focus'}, {colour: 'blue', make: 'VW', model: 'GTI'}]
为此,我使用以下代码添加了一个名为cargrouplist的列表:
cargrouplist.append(cargroup)
我的问题是,我没有得到我想要的输出(上面的参考),而是得到了这样的结果:
[{colour: 'blue', make: 'VW', model: 'GTI'}, {colour: 'blue', make: 'VW', model: 'GTI'}]
为什么我会得到这个输出,我该如何修复?
发布于 2018-07-25 05:27:33
cargrouplist.append(cargroup)
不会复制字典,因此它的内容会在下一次循环迭代期间被覆盖。您需要为每个迭代创建一个新的字典(可能设置为cargroup = {}
),或者使用cargrouplist.append(cargroup.copy())
向列表中添加一个(浅)副本。
https://stackoverflow.com/questions/51507740
复制相似问题