如何将带有初始值的参数递归输入此函数?

时间:2018-09-28 11:59:06

标签: python arrays recursion genetic

所以我有这个函数,它接受一个数组数组并输出一个具有不同值的数组数组(我正在尝试遗传编程育种函数)。

所以我的问题如下:我有一个名为evolve(population)的主要函数,该函数接收一个数组数组并输出一个新数组。我想继续在连续的总体上调用此函数,但是,我不太确定该怎么做?

所以我们有一个初始数组x,并将其传递到evolve(x),它输出一个新的数组y,现在我想将evolve(y)传递给我的函数,依此类推,以z的数量次(在for循环中)。能做到吗?

2 个答案:

答案 0 :(得分:3)

这应该可以很好地完成工作;

population = [1, 2, 3, 4]  # any list
z = 10  # evolve 10 times

for i in range(z):
    population = evolve(population)

答案 1 :(得分:-2)

我认为您应该使用递归回调函数

def evolve(population, amount_of_time_you_want_add):
    print(population)

    if amount_of_time_you_want_add > 0:
        # your operation before callback function
        population.append("x")
        return evolve(population, amount_of_time_you_want_add-1)


evolve([1,2,3,4], 5)