尝试通过依次从三个较小的列表中追加项目来打印复合列表:
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。
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
或step = 1
相同。这就是为什么您遇到内存错误,将步骤1定义为0到50之间的原因,因此while循环继续进行。您可能要写的是step += 1
,这会增加1并没有将其设置为1