2024-10-01 13:36:41 发布
网友
我怎样才能找到这个列表中的重复数。在
>>> 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}]
在查询中是否有要查找的内容?或者通过其他方式?在
谢谢!在
如果我正确地理解了您的请求,collections.Counter将是计算重复次数的一个有用方法。它只适用于散列输入,因此列表中的字典需要转换为排序项的元组:
>>> 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})
不用说,重复项是计数大于1的条目:-)
set(tuple(sorted(r.iteritems())) for r in result)
提供此列表中的一组唯一元素。取其长度并将其与len(result)进行比较。在
len(result)
要获取结果中的每个元素及其计数:
印刷品:
{'object_id': 2, 'content_type': 42} 1 {'object_id': 1, 'content_type': 46} 2
如果我正确地理解了您的请求,collections.Counter将是计算重复次数的一个有用方法。它只适用于散列输入,因此列表中的字典需要转换为排序项的元组:
不用说,重复项是计数大于1的条目:-)
提供此列表中的一组唯一元素。取其长度并将其与
len(result)
进行比较。在要获取结果中的每个元素及其计数:
^{pr2}$印刷品:
相关问题 更多 >
编程相关推荐