gpt4 book ai didi

python - 如何在没有任何默认函数的情况下使用 lambda 划分两列数据

转载 作者:行者123 更新时间:2023-12-01 01:41:42 26 4
gpt4 key购买 nike

我的代码如下 将 p_normal 中的每个元素与 V_normal 中的相应元素相除,结果为 i_normal。示例,解 i_normal = [3/1, 5/2, 7/3, 8/4]

v_normal = [1,2,3,4]
p_normal = [3,5,7,8]
i_normal = lambda x,y: x/y in (p_normal,v_normal)

它的输出如下:

        <function <lambda> at 0x00000000062D0F28>

我的问题是,lambda 函数出了什么问题

根据下面给出的 davedwards 答案,我得到了正确的答案。代码是

i_normal = list(map(lambda x, y: x/y, p_normal, v_normal))

答案是

[3.0, 2.5, 2.3333333333333335, 2.0]

最佳答案

首先您需要了解 lambda 函数的工作原理。让我给你一个简单的例子

a = lambda x,y: x+y

如果你执行print(a)

您将得到如下输出:

<function __main__.<lambda>(x, y)>

但是如果你传递参数

print(a(5,6))

您将得到如下输出:

11

就你而言,你正在做

x = 5
y =6
a = lambda x,y: x+y # You are defining a function here

以上函数不会采用 x,y 值。这些是该函数的局部变量。

所以它显然会给出输出:

<function __main__.<lambda>(x, y)>

关于python - 如何在没有任何默认函数的情况下使用 lambda 划分两列数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51815949/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com