gpt4 book ai didi

python - python中有 "too many yield statements"这样的东西吗?

转载 作者:太空狗 更新时间:2023-10-30 02:14:20 26 4
gpt4 key购买 nike

如果列出目录并读取其中的文件,与返回目录中所有文件的列表相比,yield 的性能在什么时候开始下降?

这里我假设有足够的 RAM 来返回(可能很大的)列表。

PS 我在评论中内联代码时遇到问题,所以我会在这里放一些例子。

def list_dirs_list():
# list version
return glob.glob(/some/path/*)

def list_dirs_iter():
# iterator version
return glob.iglob(/some/path/*)

在幕后,对 glob 的调用都使用 os.listdir,因此看起来它们在性能方面是等效的。但是this Python doc似乎暗示 glob.iglob 更快。

最佳答案

进一步使用 yield 不会导致性能下降。事实上,与在列表中组装东西相比,yield 实际上会随着元素越多而提高。

关于python - python中有 "too many yield statements"这样的东西吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2330546/

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