Python функция возвращает пустой список - PullRequest
0 голосов
/ 07 февраля 2020

Итак, у меня есть функция, которая должна принимать список экземпляров классов, изменять список экземпляров классов, а затем возвращать измененные экземпляры классов. Тем не менее, список возвращается пустым, хотя у меня есть значения в списке, прежде чем я возвращаю список. Код размещен ниже:

def calculate(self,solution_list):
    """
    Calculates the ranked fitness for the solution list.
    Returns the solution list with evaluated fitnesses.


    """

    Block_of_unimportant_code

    print("Ranked fitness solution")
    print(solution_list)
    return solution_list


print("Before I do fitness calculation")'''
print(solution_list)
solution_list = self.fitness.calculate(solution_list)
print("AFter fitness is calculated")
print(solution_list)

Когда я выполняю код, это то, что дается в инструкциях печати:

Перед тем, как я выполню расчет пригодности

[class_instance0x2aab3fdc4ed0 , class_instance0x2aab3fdc0350, class_instance0x2aab3fdc7ed0, class_instance0x2aab3fdb4e10, class_instance0x2aab3fdcdc10, class_instance0x2aab3fdc4190, class_instance0x2aab3fdc9c90, class_instance0x2aab3fdd1b10, class_instance0x2aab3fdd87d0, class_instance0x2aab3fdd4a10, class_instance0x2aab3fdd6890, class_instance0x2aab3fdda710, class_instance0x2aaab4beb410, class_instance0x2aab3fddc650, class_instance0x2aab3fddf4d0, class_instance0x2aab3fdde590]

Оцениваемый пригодности решение

[class_instance0x2aab3fdc4ed0, class_instance0x2aab3fdc0350 , class_instance0x2aab3fdc7ed0, class_instance0x2aab3fdb4e10, class_instance0x2aab3fdcdc10, class_instance0x2aab3fdc4190, class_instance0x2aab3fdc9c90, class0d5 0, class_instance0x2aab3fdd6890, class_instance0x2aab3fdda710, class_instance0x2aaab4beb410, class_instance0x2aab3fddc650, class_instance0x2aab3fddf4d0, class_instance0x2aab3fdde590]

1013 * AFTER фитнес рассчитывается 1015 * нет 1017 * Так, очевидно, список экземпляров имеет значения, когда она называется, имеет значения непосредственно перед его возвратом, и теряет их, как только они возвращаются, и я искренне не понимаю, в чем причина.

Буду искренне признателен за любые отзывы или советы по устранению проблемы. .

1 Ответ

0 голосов
/ 07 февраля 2020

Можете ли вы опубликовать полный код. Кроме того, вы уверены, что хотели написать self.fitness.calculate (solution_list)?

...