gpt4 book ai didi

Python,使用 lambda、映射和过滤器

转载 作者:太空宇宙 更新时间:2023-11-04 02:34:16 26 4
gpt4 key购买 nike

E 是 a、b、c 和 d 的组合。 D 是最终结果。所以 e 的结果应该与 d 相同。但事实并非如此。我做错了什么?

d = [24, 42, 30, 42, 48, 36] 的结果

e = [42, 42, 48, 36] 的结果

numbers = [2,4,7,2,5,3,7,8,1,6]

def mapping():
a = list(filter(lambda x : x > 3, numbers))
print(a)
b = list(map(lambda x : x * 3, a))
print(b)
c = list(filter(lambda x : x > 10, b))
print(c)
d = list(map(lambda x : x * 2, c))
print(d)

e = list(filter(lambda x : x > 3, map(lambda x : x * 3, filter(lambda x : x > 10, map(lambda x : x * 2, numbers)))))
print(e)
mapping()

最佳答案

问题在于,当您计算 e 时,您的操作顺序与计算 d 时的顺序相反。尝试像这样计算 e:

e = list(map(lambda x : x * 2, 
filter(lambda x : x > 10,
map(lambda x : x * 3,
filter(lambda x : x > 3, numbers)))))

关于Python,使用 lambda、映射和过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48322275/

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