gpt4 book ai didi

python - 什么会阻止过滤器返回 0?

转载 作者:太空宇宙 更新时间:2023-11-03 12:25:05 24 4
gpt4 key购买 nike

当我尝试过滤 [1,2,0,3,8] 时与 if x < 3: return x我最终得到 [1,2] .为什么是0不包括在此列表中?

def TestFilter(x):
if x < 3:
return x

a = [1,2,0,3,8]
b = filter(TestFilter, a)
print b

最佳答案

每次您的函数返回 True filter()会将原始列表中的当前元素添加到新列表中。 Python 将 0 视为 False,将任何其他数字视为 True。因此,您将希望函数返回 True 而不是数字。

def TestFilter(x):
if x < 3:
return True

编辑:这是一个 lambda 示例:

a = [1, 2, 3, 0, 4, 8]
print filter(lambda x: x < 3, a)

关于python - 什么会阻止过滤器返回 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11993112/

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