繁体   English   中英

将字典追加到使用Python3列出

[英]Append dictionaries to List with Python3

我在解析XML的for循环中有数据。 我不会进入循环代码,因为我认为在这种情况下这无关紧要。

循环的结尾是字典,例如下面的字典。 该计数取决于我循环播放的次数。 此变量称为cargroup。

{colour: 'red', make: 'Ford', model: 'Focus'}
{colour: 'blue', make: 'VW', model: 'GTI'}

当我打印汽车字典类型时,我得到这个

 <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'}]

为什么我得到此输出,如何解决?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM