如何计算非独特结果的数量?

时间:2014-10-24 19:24:46

标签: python django django-1.7

我从具有通用关系的模型中获取对象列表。

point_list = Point.objects.filter(Q(content_type=ct1,object_id__in=answer_list) | Q(content_type=ct2,object_id__in=link_list))

现在我实际上并不想拥有所有的点对象,而是希望得到不同的结果以及有多少重复点的计数。 (对我来说,如果点对象链接到相同的" content_object"),则点对象是相同的。

这一点的重点是按重复次数对point_list进行排序,然后访问content_object。这将有效地给我一个content_object列表,按他们收到的点数排序。

任何想法如何做到这一点?

1 个答案:

答案 0 :(得分:0)

要获取列表中的不同元素,可以尝试set():

print set(point_list)

尝试这样的事情:

import collections

a = [1,2,3,4,4,4,5,5,6]

counts = collections.Counter(a)
print counts # Counter({4: 3, 5: 2, 1: 1, 2: 1, 3: 1, 6: 1})

输出是一个字典。