Appending to an array in a loop - Python(追加到循环中的数组-Python)
本文介绍了追加到循环中的数组-Python的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
请参阅this问题了解精简版
我在写重力模拟。我的代码结构是:
A
solution
数组-它包含质量系统的(已计算的)解。由于Python中求解微分方程的本质,所有相关值(每个质量在每个时间值的位置和速度的每个分量)都在solution
数组中。数组
masses
。此处的对象包含有关每个质量的所有信息,包括我下面尝试更新的数组x_history
。不是。维度
d
。此处为简单起见,我使用了2。
我有以下代码:
d = 2
for i in range(len(masses)): # loop through masses
for k in range(len(solution)): # loop through solution to obtain values at each timestep
x = [] # d dimensional x vector at current timestep
# fill the x-vector
for j in range(d):
x.append(solution[k][d * i + j])
masses[i].x_history.append(x)
简单地说,就是遍历masses
数组中的对象,从另一个数组(表示向量的x
数组)中提取相关信息,然后将其添加到大量对象中的x_history
数组中。
问题是(我已经通过调试检查了这一点)行:
masses[i].x_history.append(x)
代码不是附加到i
的当前值的masses[i].x_history
,而是将其附加到体量列表中所有对象的x_history
数组中,这意味着在外部循环的末尾,体量列表中的每个对象都包含所有信息,而不仅仅是它自己的信息。
有没有人知道为什么会这样?我是不是不小心将此操作矢量化了?
推荐答案
看起来循环是正确的,但在错误的缩进位置将值追加到self.mags[i].x_HISTORY。您必须将最后两行语句向后移动一个预期的位置(四个空格)。
这篇关于追加到循环中的数组-Python的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:追加到循环中的数组-Python


猜你喜欢
- 使用Heroku上托管的Selenium登录Instagram时,找不到元素';用户名'; 2022-01-01
- padding='same' 转换为 PyTorch padding=# 2022-01-01
- 如何将一个类的函数分成多个文件? 2022-01-01
- 如何在 Python 的元组列表中对每个元组中的第一个值求和? 2022-01-01
- 分析异常:路径不存在:dbfs:/databricks/python/lib/python3.7/site-packages/sampleFolder/data; 2022-01-01
- python check_output 失败,退出状态为 1,但 Popen 适用于相同的命令 2022-01-01
- pytorch 中的自适应池是如何工作的? 2022-07-12
- python-m http.server 443--使用SSL? 2022-01-01
- 如何在 python3 中将 OrderedDict 转换为常规字典 2022-01-01
- 沿轴计算直方图 2022-01-01