You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中使用Counter对对象数组进行计数分组

如何使用Counter对对象数组进行计数和分组?

可以通过以下几步实现需求,注意别用list当变量名(会覆盖Python内置的list类型),我把原数组变量名改成了data:

  1. 提取待统计字段:先从每个字典里取出text字段的值,生成纯文本列表
  2. 用Counter统计频次:借助collections模块的Counter工具快速统计每个文本的出现次数
  3. 转换为目标格式:把Counter的统计结果重新组装成包含text和count字段的字典数组

完整代码示例:

from collections import Counter

# 原数据(避免使用list作为变量名)
data = [
    {"text": "London"},
    {"text": "New york"},
    {"text": "London"}
]

# 提取所有text值
text_list = [item["text"] for item in data]
# 统计各文本出现频次
counts = Counter(text_list)
# 转换为期望的输出格式
result = [{"text": key, "count": value} for key, value in counts.items()]

print(result)

运行后输出结果如下,和你期望的格式一致:

[{'text': 'London', 'count': 2}, {'text': 'New york', 'count': 1}]

Python 3.7及以上版本的Counter默认会保留元素首次出现的顺序,如果你用的是更旧的版本,可以改用collections.OrderedCounter来维持顺序。

内容的提问来源于stack exchange,提问作者SexyMF

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 07:10:12