gpt4 book ai didi

python - 一个类轮通过一个可迭代的(生成器)

转载 作者:行者123 更新时间:2023-12-03 21:13:14 27 4
gpt4 key购买 nike

我遇到了一些看起来像的代码:

[func(val) for val in iterable]

有一个可迭代对象(在我的例子中是一个生成器),用户想要为其副作用调用每个值的函数(例如 func 可以只是 print),但返回值无关紧要。

我不喜欢这种方法的一点是,临时 list创建,如果生成器产生很多值,这可能会消耗相当多的内存。

如果返回值 func总是评估为 False ,然后以下工作:
any(func(val) for val in iterable)

如果 func 的返回值始终计算为 True ,然后以下工作:
all(func(val) for val in iterable)

如果 func 的返回值可以计算为 True 我该怎么办?或到 False
有什么比将值强制为 False 更好的方法吗?

我想出的最好的是:
any(func(val) and False for val in iterable)

或者
all(func(val) or True for val in iterable)

最佳答案

大概只是

for val in iterable:
func(val)

是最清楚的。

for val in iterable: func(val)

如果确实需要单线,则可以使用。

关于python - 一个类轮通过一个可迭代的(生成器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62408031/

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