假设我有以下两个变量中的函数 -
def banana(x,y):
return exp(((-x**2/200))-0.5*(y+0.05*(x**2) - 100*0.05)**2)
我想把它写成 -
def banana(x):
其中 x 这里是两个变量的向量;如果可能的话?
谢谢你的帮助!
假设我有以下两个变量中的函数 -
def banana(x,y):
return exp(((-x**2/200))-0.5*(y+0.05*(x**2) - 100*0.05)**2)
我想把它写成 -
def banana(x):
其中 x 这里是两个变量的向量;如果可能的话?
谢谢你的帮助!
解压函数开头的 args:
def banana(args):
x, y = args
return exp(((-x**2/200))-0.5*(y+0.05*(x**2) - 100*0.05)**2)
或直接在定义行中:
def banana((x, y)):
return exp(((-x**2/200))-0.5*(y+0.05*(x**2) - 100*0.05)**2)
是的,这是可能的:
def _banana(x):
return banana(*x)
你可以写:
def banana(vector):
x, y = vector
return exp(((-x**2/200))-0.5*(y+0.05*(x**2) - 100*0.05)**2)
可能是这样的
def banana(x):
return exp(((-x[0]**2/200))-0.5*(x[1]+0.05*(x[0]**2) - 100*0.05)**2)
是的,当然有可能。您可以使用列表或元组。将两个变量放入列表或元组中
x = [5, 7] # A list
x = (5, 7) # A tuple
你的功能应该是这样的:
def banana(x):
x, y = x # Unpacking
return exp(((-x**2/200))-0.5*(y+0.05*(x**2) - 100*0.05)**2)
在https://docs.python.org/3.6/tutorial/datastructures.html上查看更多信息
你可以用列表写
def banana(x):
return exp(((-x[0]**2/200))-0.5*(x[1]+0.05*(x[0]**2) - 100*0.05)**2)