首页 > 解决方案 > 使用更新的字典值附加列表

问题描述

我正在尝试使用更新的键值字典更新列表。但不知何故,该列表仅从上次迭代中获取值。我的代码是:

dict = {}
list = []
def load(N,P,S):
    dict.update({"number": N, "param" : P, "state": S})
    list.append(dict)


k = 3
for i in range(k):
    num = i
    par = num+1
    state = num *10
    load(num,par,state)

j = 4
for i in range(j):
    num = j*2
    par=j+3
    state=j*12
    load(num,par,state)
    
print(list)

标签: pythonlistfunctiondictionary

解决方案


您不断更新和附加相同的字典。load()您应该在函数中创建一个新的 dict 。

def load(N,P,S):
    list.append({"number": N, "param" : P, "state": S})

PS不要命名你的变量listdict. 这些是 Python 内置函数的名称,您正在替换这些函数。


推荐阅读