2024-04-19 19:28:36 发布
网友
我在Python3中有以下简单的函数:
def func(i,j): return lambda i,j: (i*j)
下面是此函数应执行的操作的示例:
IN: func(4,'Hello') OUT: ('Hello' 'Hello' 'Hello' 'Hello')
但是,实际输出是存储结果的内存地址。我需要做什么修改?你知道吗
如果要返回i * j的值,请继续并返回它。lambda意味着它返回一个函数,该函数按您所希望的方式运行。考虑一下:
i * j
def mul(x, y): return x * y def func(x, y): return lambda x, y: x*y
现在让我们来看一个小shell会话:
>>> mul(4, 'hello') 'hellohellohellohello' >>> func(4, 'hello') <function 'lambda' at ...> >>> f = func(4, 'hello') >>> f(4, 'hello') 'hellohellohellohello'
如您所见,当您使用lambda时,您的函数将返回一个需要调用的函数。参数x和y与lambda函数中的参数没有对应关系。你知道吗
x
y
由于预期的输出是x个y元组,因此在函数中使用元组:
def func(i, j): return (j,) * i
如果要返回
i * j
的值,请继续并返回它。lambda意味着它返回一个函数,该函数按您所希望的方式运行。考虑一下:现在让我们来看一个小shell会话:
如您所见,当您使用lambda时,您的函数将返回一个需要调用的函数。参数
x
和y
与lambda函数中的参数没有对应关系。你知道吗由于预期的输出是
x
个y
元组,因此在函数中使用元组:相关问题 更多 >
编程相关推荐