使用Python3将词典附加到列表

2024-09-25 18:23:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我在for循环中有一个解析XML的数据。我不会进入循环的代码,因为我相信在这种情况下它是不相关的

循环的最后是如下所示的字典。计数根据我循环了多少次而有所不同。这个变量叫做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'}]

为什么我要得到这个输出,我该如何修复


Tags: 代码列表makemodel字典bluereddict
1条回答
网友
1楼 · 发布于 2024-09-25 18:23:57

cargrouplist.append(cargroup)不会复制字典,因此在下一次循环迭代中会覆盖其内容。您需要为每个迭代创建一个新字典(可以设置cargroup = {}),或者使用cargrouplist.append(cargroup.copy())向列表添加一个(浅)副本

相关问题 更多 >