我想在for循环中将新项目添加到字典中,但它被替换了。我像这样添加它:
for j in range(len(Repetidos)):
historias[m[j]]=Repetidos[j]
我怎么做可以吗?因为最后它只为每个字典键抛出一个元素,这个想法是每个键包含几个元素。还是应该用“追加”来完成
干杯!
我想在for循环中将新项目添加到字典中,但它被替换了。我像这样添加它:
for j in range(len(Repetidos)):
historias[m[j]]=Repetidos[j]
我怎么做可以吗?因为最后它只为每个字典键抛出一个元素,这个想法是每个键包含几个元素。还是应该用“追加”来完成
干杯!
通过这样做,您将在每次迭代中替换(重新分配)键的值,因此最终您将只有最后一个值,即对应于 : 的值
m[len(repetidos)-1]
。要添加新值,您需要使用列表作为值并按
append
您所说的使用:如果你这样做,你必须定义一个以前为空的列表作为字典中每个键的值。您必须仅在向列表中添加任何值之前执行此操作:
更舒适的选择是使用
collections.defaultdict
. 当您创建故事时,您可以这样做:现在,每次创建新键时,都会自动创建一个空列表作为值。因此,您不必担心
append
在不存在的列表上使用该方法。