gpt4 book ai didi

python - 在带有 zip() 的 for 循环中使用 lambda

转载 作者:行者123 更新时间:2023-11-28 22:38:02 25 4
gpt4 key购买 nike

大家好,我今天一直在玩 python,在使用 lambda 函数时有点困惑。我的初衷是用第二个向量的值减去向量中每个元素的值,并将所有结果引入第三个向量。是这样的:

v1=[1, 2, 3, 4]
v2 =[7,2 ,7 ,6]
v3=[x-y for x,y in zip(v1,v2)]

然后我虽然使用相同的结构使用 lambda 函数计算绝对值,但我尝试了这个:

v1=[1, 2, 3, 4]
v2 =[7,2 ,7 ,6]
[lambda x,y: x-y if x>y else y-x for x,y in zip(v1,v2)]

这只给出了我认为的内存位置。而且我不知道为什么,我做错了什么?

最佳答案

它为您提供了一堆 lambda 函数。你在那里所做的只是定义函数,但你从未调用它。改为这样做:

[(lambda x,y: x-y if x>y else y-x)(x,y) for x,y in zip(v1,v2)]

不过,您真的不需要函数。就这样做吧:

[(x-y if x>y else y-x) for x,y in zip(v1,v2)]

关于python - 在带有 zip() 的 for 循环中使用 lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35964583/

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