当前位置: 代码迷 >> python >> Lambda在Python中的功能
  详细解决方案

Lambda在Python中的功能

热度:94   发布时间:2023-06-27 21:51:12.0

我在Python 3中具有以下简单函数:

def func(i,j):
    return lambda i,j: (i*j)

下面是此函数应执行的示例:

IN: func(4,'Hello')
OUT: ('Hello' 'Hello' 'Hello' 'Hello')

但是,实际输出是存储结果的内存中的地址。 我需要进行哪些修改?

如果要返回i * j的值,请继续并返回它。 Lambda表示它返回的功能可以按您希望的方式运行。 考虑一下:

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时,您的函数将返回一个函数,而该函数又需要被调用。 参数xy与lambda函数中的参数不对应。

由于您的预期输出是xy的元组,因此请在函数中使用一个元组:

def func(i, j):
    return (j,) * i