gpt4 book ai didi

python - 更有效的方法来做到这一点

转载 作者:行者123 更新时间:2023-12-01 06:14:50 24 4
gpt4 key购买 nike

for i in vr_world.getNodeNames():
if i != "_error_":
World[i] = vr_world.getChild(i)

vr_world.getNodeNames() 返回一个巨大的列表,vr_world.getChild(i) 返回特定类型的对象。

这需要很长时间才能运行,有什么办法可以提高效率吗?我之前见过单行循环,应该更快。有想法吗?

最佳答案

kaloyan 建议使用发电机。这就是为什么这可能会有所帮助。

如果 getNodeNames() 构建一个列表,那么您的循环基本上会遍历该列表两次:一次构建它,一次当您迭代该列表时。

如果getNodeNames()是一个生成器,那么你的循环永远不会构建列表;它不是创建项目并将其添加到列表中,而是创建项目并将其生成给调用者。

这是否有帮助取决于几个因素。首先,必须可能getNodeNames()实现为生成器。我们对该函数的实现细节一无所知,因此无法判断情况是否如此。接下来,您要迭代的项目数量需要非常大。

当然,如果事实证明这一切中最耗时的操作是vr_world.getChild(),那么所有这些都不会产生任何影响。这就是您需要分析代码的原因。

关于python - 更有效的方法来做到这一点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3885352/

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