我是python的初学者。我写了一个函数如下:
import numpy as np
def crossover(v1,v2):
N=2
v1n=np.zeros(shape=(1,N+1))
v2n=np.zeros(shape=(1,N+1))
beta=np.random.rand(1)
v1n[0,0]=(1-beta)*v1[0]+beta*v2[0]
v1n[0][1]=v1[1]
v2n[0][0]=(1-beta)*v2[0]+beta*v1[0]
v2n[0][1]=v2[1]
return (v1n,v2n)
当我想看到交叉([3,4],[7,8])时,以下错误….:
^{pr2}$
您的代码在python2.7.8上运行良好(在我的电脑上)。但我认为你的产量不好。 如果运行代码,则会得到以下输出:
这实际上是一个包含两个数组的元组,每个数组都包含一个列表。 你在小数组中使用numpy,这实际上比普通列表慢。 numpy用于处理成百上千的数据。在
check this link for more info about numpy speed
我建议你用列表代替。在
让我给你举个例子,说明如果没有numpy:D我会怎么做
^{pr2}$相关问题 更多 >
编程相关推荐