gpt4 book ai didi

python - 如何从理解中排除案例

转载 作者:太空宇宙 更新时间:2023-11-04 07:42:28 24 4
gpt4 key购买 nike

我试图排除返回 None 的理解案例。以下实现了它,但导致调用该函数两次!!!

>>> def func(x):
... if x>10:
... return None
... else:
... return x*2
...
>>> result1=[func(x) for x in l if func(x) is not None]
>>> result1
[4, 8, 14, 6]

出路在哪里?

最佳答案

result1[:] = [x for x in map(func, l) if x is not None]

在 Python 2.x 上使用 itertools.imap

注意:filter(None, map(func, l)) 通常可以工作,但也会删除 0(因为它是被认为是空的)

关于python - 如何从理解中排除案例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16828798/

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