gpt4 book ai didi

python - 如何在不循环的情况下一次获取一个类的多个值?

转载 作者:太空宇宙 更新时间:2023-11-04 11:03:47 25 4
gpt4 key购买 nike

我知道这很简单,但我无法弄清楚,我正在获取给定链接名的所有实例,但我想调用它们的所有值 (rating2) 来执行计算,但我意识到的是循环我相信这是每次都进行单独调用,(它很慢)仅 100 个 LinkRating2 类实例需要 2 秒。那么我如何在没有循环的情况下调用给定链接名的所有 rating2 值并填充字典?或者坦率地说,让这段代码更快?

class LinkRating2(db.Model):
user = db.StringProperty()
link = db.StringProperty()
rating2 = db.FloatProperty()

def sim_distance(link1,link2,tabl):
# Get the list of shared_items
si={}
query = tabl.all()
query2 = tabl.all()

a = query.filter('link = ', link1)
b = query2.filter('link = ', link2)
adic ={}
bdic= {}
##populate dics
aa = a.fetch(10000)
bb = b.fetch(10000)

for itema in aa:
adic[itema.user]=itema.rating2

for itemb in bb:
bdic[itemb.user]=itemb.rating2

编辑:

好吧,我调试并意识到循环基本上花费了 0 秒,我所有的时间都在查询和获取行上,我只有一个包含 100 个项目的表,它花费了 2 秒!!!!!!!从 100 表中提取一些项目怎么会这么慢,我怎样才能加快速度?

最佳答案

您的应用没有进行超出需要的调用。唯一的 RPC 发生在您执行 .fetch() 操作时。任何缓慢的来源都可能在其他地方。

关于python - 如何在不循环的情况下一次获取一个类的多个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3084697/

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