在Django查询集上执行操作

时间:2018-07-30 23:10:30

标签: python django

我有非常大的查询集,具有以下一般形式:

(
    {id: x}
    {termVector: [ '.00035 .00052...' ]}
)

如果我想将termVectors的{​​{1}}转换为string的列表,是否有标准的方法?我一直在使用float方法并遍历结果.values(),但考虑到查询集的大小,它在计算上似乎很繁琐。

我觉得必须有一个更好的方法,但是我似乎在文档中找不到任何方法。

编辑: 我当前的占位符方法如下:

dict

它只是将向量字符串按空格分割,然后将每个字符串转换为浮点数,并将其添加到我用于进一步计算的数组(termList)中。

1 个答案:

答案 0 :(得分:0)

您可以使用map将所有内容都转换为float

,而不必再次循环
termVectorQS = [{"termVector": '.00035 .00052 .000112 .000113 .0114 .00035 .00052 .000112 .000113 .0114 .00035 .00052 .000112 .000113 .0114 .00035 .00052 .000112 .000113 .0114' }]

termList = []
for vectorList in termVectorQS:
        termList.append(list(map(float, vectorList['termVector'].split())))

这不是一个很大的加速,但是它以820毫秒的速度运行了160000次迭代,两次循环为1.19 s