当前位置: 首页 > 面试题库 >

在aa循环Python中将字典追加到列表

谷梁卓
2023-03-14
问题内容

我是一名基本的python程序员,因此希望我的问题的答案会很容易。我正在尝试拿字典并将其附加到列表中。然后,字典更改值,然后再次循环添加。似乎每次执行此操作时,列表中的所有词典都会更改其值以匹配刚刚添加的值。例如:

>>> dict = {}
>>> list = []
>>> for x in range(0,100):
...     dict[1] = x
...     list.append(dict)
... 
>>> print list

我认为结果是,[{1:1}, {1:2}, {1:3}... {1:98}, {1:99}]但是我得到了:

[{1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}, {1: 99}]

任何帮助是极大的赞赏。


问题答案:

您需要追加一个 副本 ,否则您将一遍又一遍地添加对同一词典的引用:

yourlist.append(yourdict.copy())

我用yourdictyourlist代替dictlist; 您不想掩盖内置类型。



 类似资料:
  • 我有一个两个项目的列表,每个项目是一个文本字符串。我想围绕这两个项目循环,如果一个单词不在一组单词中,则基本上删除它。但是,下面的代码将所有单词放在一起,而不是创建两个单独的项。我希望我的更新列表包含两个项目,每个原始项目对应一个im更新:

  • 我试图将多个数据帧附加到一个空数据帧中,但它不起作用。为此,我使用本教程我的代码如下所示: 我在循环中生成一个框架,我的代码是: 我如何才能做到这一点使用熊猫和什么是最好的可能的方式做到这一点。 注意:这里这一行 正在从API中获取一些数据

  • 问题内容: 我在玩一些python循环。我对使用“ for”循环非常熟悉: 您还可以使用循环创建一个简单列表: 然后我最近在Stack上发现了一种不错的高效循环类型来构建一个列表(这种类型的循环有名称吗?我真的很想知道,以便可以对其进行更好地搜索): 好的,话虽如此,我想进一步讲解最后一种循环,我尝试使用相同的逻辑类型构建python字典: 而不是使用: 我在等号上收到一条错误消息,告诉我这是无效

  • 问题内容: 我有一个函数,它返回像这样的字典: 我试图将此字典追加到这样的数据框: 不幸的是,数据框的打印导致空的数据框。有任何想法吗? 问题答案: 您没有将值分配给结果。

  • 问题内容: 我有一个简单的字典,其定义如下: 现在,我想在此字典中添加一个元素: 如何添加到现有词典中? 问题答案: 您正在使用。除非出于某种原因明确需要将其设为该类型,否则我建议使用Swift字典。 您可以通过迅捷的字典任何期望的功能而无需任何额外的工作,因为和无缝地弥合彼此。Swift的本机方式的优点是字典使用泛型类型,因此,如果将其定义为键和值,就不会错误地使用不同类型的键和值。(编译器代表

  • 我正在尝试创建一个新的创建列表,其中通过for循环的每次迭代将一个新项附加到列表中。到目前为止,代码如下所示: 当我这样做时,会创建一个列表,但列表中的每个项目都是相同的。我希望每个项目都使用在上一个for循环中创建的date_字符串变量,该变量在每次迭代中都应该更改。这是它创建的列表的一个示例: 我尝试过改变循环的缩进,但这并没有解决问题。 我也试图提高使用Numpy数组的效率,但这个问题的答案