Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
循环崩溃时多个python追加函数_Python_List_While Loop_Append - Fatal编程技术网

循环崩溃时多个python追加函数

循环崩溃时多个python追加函数,python,list,while-loop,append,Python,List,While Loop,Append,试图通过按顺序追加三个较小列表中的项来打印复合列表: 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])

试图通过按顺序追加三个较小列表中的项来打印复合列表:

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   
def final_xyz_lister():
全球最终_xyz_列表
最终_xyz_列表=[]
步长=0
当步骤==0时:
最终列表。追加(碳最终列表[步骤])
最终列表。追加(氧气最终列表[步骤])
final_xyz_list.append(氢气_final_list[步骤])
步骤=+1
当0

如果我注释掉第二个while循环,列表的第一个元素将按预期打印在列表中,但是引入第二个while循环会导致内存错误

不需要在两个不同的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
step=1
相同。这就是为什么会出现内存错误,您一直将步骤定义为1,介于0和50之间,因此while循环一直在进行。你可能想写的是
step+=1
,它一步一步地增加1,并且没有设置为1

,你能告诉我们完整的错误吗?顺便说一下,你的函数应该返回
final\u xyz\u list
而不是试图使其全局化。
step=+1
step+=1
使用for循环而不是while循环能解决内存错误问题吗?我不知道,我会尝试一下。也许你没有足够的内存来完成这个程序(我对此表示怀疑,因为它没有那么高的要求)