gpt4 book ai didi

python 我应该在这种情况下使用生成器吗?

转载 作者:太空狗 更新时间:2023-10-30 01:55:43 26 4
gpt4 key购买 nike

我有一个包含近 2k 部词典的列表。我多次使用该列表。例如:

c = myClass()
c.create(source) # where source is a text of approximately 50k chars
# this method creates the list that has approximately 2k dictionaries
item = c.get(15012) # now, this one loops thru the list to find an item
# whenever the condition is matched, the for loop is broken and the value is returned
item2 = c.prevItem(item) # this one also loops thru the list by reversing it and bringing the next item

现在,想象一下我一遍又一遍地使用同一个列表的场景。由于列表很大,我想使用生成器,但据我所知,生成器在抛出 StopIteration 时必须重新创建。所以基本上,在这种情况下,是使用生成器方便还是在速度方面有更有效的方法?

最佳答案

在我看来你必须决定你更愿意做什么:

1) 保存这些值,这样您就不必重新计算它们,但要使用更多空间来这样做。

2) 每次都重新计算它们,但可以节省空间,因为您不必存储它们。

如果您考虑一下,无论您使用哪种生成器/列表/无论您使用什么,都必须发生这两件事之一。而且我不认为有一个简单的硬性规则可以说哪个更好。 (就我个人而言,我会说选择一个,不要回头。你的整个人生都在你面前。)

关于python 我应该在这种情况下使用生成器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7054700/

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