Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.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/9/loops/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_Loops_Return_Iteration_Stopiteration - Fatal编程技术网

Python中的迭代处理

Python中的迭代处理,python,loops,return,iteration,stopiteration,Python,Loops,Return,Iteration,Stopiteration,我试图在这里编码并获得正确的适应度,但在循环之后,结果一直显示为0。它首先显示StopIteration,因此我在那里编写了try和except,但结果仍然是错误的。。 我在这里完全是个新手,我该怎么办?请帮忙 population={'list_1':[0,2,3,4],'list_2':[2,0,4,1],'list_3':[1,6,0,8],'list_4':[3,5,6,0]} item = [3,4,2,1] def get_fitness(items): g= iter(

我试图在这里编码并获得正确的适应度,但在循环之后,结果一直显示为0。它首先显示StopIteration,因此我在那里编写了try和except,但结果仍然是错误的。。 我在这里完全是个新手,我该怎么办?请帮忙

population={'list_1':[0,2,3,4],'list_2':[2,0,4,1],'list_3':[1,6,0,8],'list_4':[3,5,6,0]}

item = [3,4,2,1]

def get_fitness(items):
    g= iter(items)
    temp=[]
    fitness_point=0
    try:
        for i in items:
            if i != items[3]:
                temp=population['list_{}'.format(i)]
                fitness_point+=temp[g.__next__()-1]
                print(fitness_point)
    except GeneratorExit:
        return 'eror'

return fitness_point

print(get_fitness(item))

请澄清您的预期输出为什么使用迭代器
g
?在你的方法中,
g.\uu next\uuu()-1
总是
i-1
。你的代码的简短版本:
返回总和(填充['list{}'。格式(i)][i-1],用于项目[:-1]中的i
。请澄清你的预期输出为什么使用迭代器
g
?在你的方法中,
g.\uuu next\uuu()-1
总是
i-1
。你的代码的简短版本:
返回和(填充['list{}'。格式(i)][i-1],用于项目[:-1]中的i