python - 获取查询集中元素的索引

标签 python django indexing django-queryset

我有一个QuerySet,我们称它为qs,它是由一些与这个问题无关的属性排序的。然后我有一个对象,我们称之为obj。现在我想知道 objqs 中的索引,尽可能高效。我知道我可以使用 Python 中的 .index() 或者可能循环通过 qs 将每个对象与 obj 进行比较,但是最好的方法是什么去做这件事?我正在寻找高性能,这是我唯一的标准。

在 Windows 上使用 Python 2.6.2 和 Django 1.0.2。

最佳答案

如果您已经在遍历查询集并且只想知道您当前所在元素的索引,那么紧凑且可能最有效的解决方案是:

for index, item in enumerate(your_queryset):
    ...

但是,如果你有一个查询集和一个通过一些不相关的方式获得的对象,并且想要了解这个对象在查询集中的位置(如果它甚至存在的话),请不要使用它。

关于python - 获取查询集中元素的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1042596/

相关文章:

python 制作我自己的小写转换器

django - 如何避免Django中的 "Using selector: EpollSelector"日志消息?

python - 如何在模板中减去两个 django 日期

Eclipse 索引需要很长时间

java - TermQuery 没有给出预期结果作为 QueryParser - Lucene 7.4.0

python - 元组列表中的索引元素

python - 使用 MovieStim2 在 PsychoPy 中基于按键跳过视频(循环)

python - 提取美元金额

python - Django/Ubuntu 20 - 如何更改为先前版本的 GDAL

mysql - 为什么 MySQL 会发出文件排序?