如何在此列表中找到重复项的计数.
>>> 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}]
Run Code Online (Sandbox Code Playgroud)
无论如何在查询中找到?或通过其他方式?
谢谢!
如果我正确理解您的请求,collections.Counter将是计算重复项的有用方法.它仅适用于hashable输入,因此列表中的字典需要转换为已排序项的元组:
>>> from collections import Counter
>>> Counter([tuple(sorted(d.items())) for d in result])
Counter({(('content_type', 46), ('object_id', 1)): 2, (('content_type', 42), ('object_id', 2)): 1})
Run Code Online (Sandbox Code Playgroud)
可能不言而喻,重复项是计数大于一的条目:-)
| 归档时间: |
|
| 查看次数: |
537 次 |
| 最近记录: |