python - while循环崩溃中的多个python附加函数
问题描述
尝试通过依次附加三个较小列表中的项目来打印复合列表:
def final_xyz_lister():
global final_xyz_list
final_xyz_list = []
step=0
while step==0:
final_xyz_list.append(carbon_final_list[step])
final_xyz_list.append(oxygen_final_list[step])
final_xyz_list.append(hydrogen_final_list[step])
step=+1
while 0 < step < 50:
final_xyz_list.append(carbon_final_list[step])
final_xyz_list.append(oxygen_final_list[step])
final_xyz_list.append(hydrogen_final_list[step])
step=+1
else:
pass
如果我注释掉第二个 while 循环,则列表的第一个元素按预期打印在列表中,但引入第二个 while 循环会导致 MemoryError。
解决方案
无需将这三个项目附加到 2 个不同的 while 循环中。如果您使用 for 循环,它也会更简单。在这种情况下:
for step in range(0, 50):
final_xyz_list.append(carbon_final_list[step])
final_xyz_list.append(oxygen_final_list[step])
final_xyz_list.append(hydrogen_final_list[step])
编辑:另外,我刚刚注意到你使用的错误,step =+ 1
这与说step = +1
or相同step = 1
。这就是为什么你得到一个内存错误,你一直将 step 定义为 1,它在 0 到 50 之间,所以 while 循环继续进行。您可能想写的是step += 1
,这会增加 1 并且不会将其设置为 1
推荐阅读
- vue.js - 如何从 v-data-table 中获取选定的行?(Vuetify)
- sorting - 我需要对不是 Merge、Quicksort 或 heapsort 的项目进行快速排序
- c# - 一旦特定的人在场,如何让自己加入不和谐的特定频道?
- python - 如何存储 series.iteritems() 的输出?
- angular - 无法在 typescript angular8 中使用 any = {} 获取值
- java - 如何检查 JavaFX 键事件上是否按下了某个键
- python - 编写runge kutta 4阶步骤的正确方法
- php - 重命名文件上传“选择文件”
- python - 使用 scipy ode 求解器时维度的值错误
- php - 使用准备好的语句从 mysql DB WHERE value IN 数组中删除多行