使用array…'int'对象的输入编写函数时没有属性''uGetItem'

2024-09-29 17:14:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我是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}$

Tags: 函数importnumpydefasnpzerosbeta
1条回答
网友
1楼 · 发布于 2024-09-29 17:14:31

您的代码在python2.7.8上运行良好(在我的电脑上)。但我认为你的产量不好。 如果运行代码,则会得到以下输出:

(array([[ 4.91965332, 5. , 0. ]]), array([[ 4.08034668, 4. , 0. ]]))

这实际上是一个包含两个数组的元组,每个数组都包含一个列表。 你在小数组中使用numpy,这实际上比普通列表慢。 numpy用于处理成百上千的数据。在

check this link for more info about numpy speed

我建议你用列表代替。在

让我给你举个例子,说明如果没有numpy:D我会怎么做

^{pr2}$

相关问题 更多 >

    热门问题