我如何在此列表中找到重复项的数量。
>>> result = SiteTags.objects.values('content_type','object_id')
>>> result
[{'object_id': 1, 'content_type': 46}, {'object_id': 1, 'content_type': 46}, {'object_id': 2, 'content_type': 42}]
无论如何要在查询中找到?还是通过其他方式?
谢谢!
最佳答案
set(tuple(sorted(r.iteritems())) for r in result)
在此列表中为您提供一组独特的元素。取其长度并将其与
len(result)
进行比较。要获取结果中的每个元素及其计数:
counter = {}
for r in result:
tup = tuple(sorted(r.iteritems()))
counter[tup] = counter.get(tup, 0) + 1
for tup, cnt in counter.iteritems():
print dict(tup), cnt
打印:
{'object_id': 2, 'content_type': 42} 1
{'object_id': 1, 'content_type': 46} 2
关于python - 计算django python中dict列表中的重复项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8238319/