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