Python:将列表分隔为变量

2024-09-30 02:35:43 发布

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

我怎样才能转身

def square_error(f1,f2, u1,v1,sigu1,sigv1,rho1, u2,v2,sigu2,sigv2,rho2, u3,v3,sigu3,sigv3,rho3):

分为:

def square_error(x):
#     x = [0.2,0.5,
#           1,1,1,1,0.3,
#           1,1,1,1,0.3,
#           1,1,1,1,0.3],
    f1,f2, u1,v1,sigu1,sigv1,rho1, u2,v2,sigu2,sigv2,rho2, u3,v3,sigu3,sigv3,rho3 = x

scipy.minimize函数只允许目标函数有一个参数,因此我需要将变量转换为一个参数。你知道吗


Tags: deferrorv2f2f1v1squareu1
1条回答
网友
1楼 · 发布于 2024-09-30 02:35:43

是的,您可以这样做,但是您必须使用*语法,该语法将unpack the array转换为函数的参数。你知道吗

例如:

def square_error( x,y,z ):
    print x,y,z

arr = [ 1, 2, 3 ]
square_error( *arr )

将值1,2,3解压到参数x,y,z


或者,如果要将值取消打包到函数中的变量中,请使用sequence unpacking

def square_error( arr ):
    x,y,z = arr
    print x,y,z

arr = [ 1, 2, 3 ]
square_error( arr )

相关问题 更多 >

    热门问题