python - 使用更新的字典值附加列表
问题描述
我正在尝试使用更新的键值字典更新列表。但不知何故,该列表仅从上次迭代中获取值。我的代码是:
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)
解决方案
您不断更新和附加相同的字典。load()
您应该在函数中创建一个新的 dict 。
def load(N,P,S):
list.append({"number": N, "param" : P, "state": S})
PS不要命名你的变量list
和dict
. 这些是 Python 内置函数的名称,您正在替换这些函数。
推荐阅读
- android - Android (Oreo+) - 带有 ClickableSpan 的 setJustificationMode
- python - 如何删除列表字典的值
- r - 如何使用投影从 R 中的 st_distance (sp 包)获得正确的距离(以米为单位)?
- ios - 如何修改现有函数以将数据返回到变量
- c++ - 迭代对向量并访问第一个和第二个元素
- android - 如何在对话框中输入 Intent 命令?
- mysql - 如何 ORDER BY 临时表
- javascript - 如何使用“react-testing-library”对 React 组件进行单元测试
- ios - 如果数据类型为 URL 的变量为空,如何在 Swift 中检查?
- javascript - 为什么每次我进入路由时组件都会复制自己?