PyPy中的ListIndex错误,但Python代码运行正常

时间:2017-06-05 15:08:22

标签: python python-2.7 pypy

所以我一直在研究我刚才写的这个非常糟糕的python代码 作为一种简单的优化方法,我尝试使用PyPy而不是python 2.7但是在尝试运行它时,PyPy给了我一个超出范围错误的列表索引,而python运行代码就好了。

令人讨厌的代码位于下方 -

for front_no in xrange(1, self.no_of_fronts + 1):
        temp = []
        for member in self.population_members:
            if member.front == front_no:
                temp.append(member)
        if(len(temp) == 1):
            temp[0].crowding_distance = float('inf')
        else:
            for member in temp:
                member.crowding_distance = 0
            for y in xrange(0, p.number_of_objectives):
                temp.sort(key=lambda x: x.objective_function_values[y])
                temp[0].crowding_distance = float("inf")
                temp[len(temp) - 1].crowding_distance = float("inf")
                if temp[0].gene == temp[-1].gene:
                    for i in xrange(1, len(temp) - 1):
                        temp[i].crowding_distance = 0

temp[0].crowding_distance = float("inf")具体是导致问题的原因,但是在那一点上没有理由将temp变为空。

0 个答案:

没有答案