gpt4 book ai didi

python - 过滤器和列表理解之间的区别

转载 作者:太空狗 更新时间:2023-10-30 00:54:50 25 4
gpt4 key购买 nike

我正在使用 Python 3,我的问题是为什么输出不同?

print([x * x for x in range(2, 5, 2) if x % 4 == 0]) # returns [16]

q = [x * x for x in range(2, 5, 2)]
print(list(filter(lambda x: x % 4 == 0, q))) # returns [4, 16]

最佳答案

print(([x * x for x in range(2, 5, 2) if x % 4 == 0]))

这里,range 的计算结果为 [2,4],只有 [4] 能够通过 if 条件

q = ([x * x for x in range(2, 5, 2)])
print(list(filter(lambda x: x % 4 == 0, q)))

这里,q包含每个元素的x*x,因此列表是[2*2, 4*4] = [4, 16] ,并且两个元素都通过过滤器选择器

关于python - 过滤器和列表理解之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33912110/

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