首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >KeyError: 0,运行while循环时

KeyError: 0,运行while循环时
EN

Stack Overflow用户
提问于 2019-10-18 03:50:50
回答 1查看 302关注 0票数 0

我正在尝试创建一个功能,现在我的代码在某一点上被卡住了,给出了这个错误:

代码语言:javascript
运行
复制
in stochasticUniversalSampling
    if fitness_prob[j] > points[i]:
KeyError: 0

我试图为每个染色体分配一个与其适合度相等的长度范围和一个在前一条染色体终点之后的起点(例如,第一条染色体0-1.53,第二条染色体1.54-2.26,第三条染色体2.27-3.42,等等)。选择其范围包含一个标记的染色体(请注意,一个染色体可能有两个标记,在这种情况下会选择两次)。

city.txt

代码语言:javascript
运行
复制
5
1 823170 415922
2 793699 274913
3 981665 218777
4 878910 431320
5 910125 405907
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-18 03:54:47

在创建fitness_prob时,您使用来自self.population的值作为键。但是在while循环中,您使用的是fitness_prob的索引作为键,而实际上您应该使用这些值。更改:

代码语言:javascript
运行
复制
if fitness_prob[j] > points[i]:

代码语言:javascript
运行
复制
if fitness_prob[self.population[j]] > points[i]:
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58439812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档