gpt4 book ai didi

python - Python 中是否有 all(map(...)) 优化?

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

我想使用all(map(func, iterables)),因为它很清楚,但我很想知道这种方法是否经过优化?例如,如果 map() 的任何计算结果不是 True,映射应该停止。

我项目中的示例:

for item in candidate_menu:
if not item.is_max_meals_amount_ok(daily_menus):
return False
return True

我更喜欢使用函数式风格:

all(map(operator.methodcaller('is_max_meals_amount_ok', daily_menus), candidate_menu)

我对 Python 中的 all(map(...))any(map(...)) 有什么优化吗?

编辑:板载 Python 2.7。

最佳答案

除了别人推荐的all(func(i) for i in iterable),你还可以使用itertools.imap - all(imap(功能,可迭代))。与 map 相比,imap 是一个迭代器,因此如果 all 停止使用它,它就不会再前进了。

关于python - Python 中是否有 all(map(...)) 优化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21998143/

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