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

Python字典列表:统计id出现次数及访问指定键值的方法

问题解法

1. 统计每个id的出现次数

方法一:使用collections.Counter(最简洁)

Python标准库的Counter专门用于频次统计,一行生成器表达式就能完成需求:

from collections import Counter

Data = [{ "num": 0, "id": "0001", "text": "Apple" }, { "num": 1, "id": "0002", "text": "Banana"}, { "num": 2, "id": "0001", "text": "Orange" }, { "num": 3, "id": "0001", "text": "Berries" }, { "num": 4, "id": "0002", "text": "Apple" }  ]

id_counts = Counter(item['id'] for item in Data)
# 转成普通字典(可选,Counter本身支持所有字典操作)
result = dict(id_counts)
print(result)  # 输出: {'0001': 3, '0002': 2}

方法二:手动遍历实现

不想依赖标准库的话,用基础字典操作也能轻松实现:

id_counts = {}
for item in Data:
    current_id = item['id']
    # 存在则计数加1,不存在则初始化为1
    id_counts[current_id] = id_counts.get(current_id, 0) + 1

print(id_counts)  # 输出: {'0001': 3, '0002': 2}

2. 获取字典列表中单个键的所有值

用列表推导式一行就能提取指定键的所有值:

# 示例:获取所有'text'键的值
all_text_values = [item['text'] for item in Data]
print(all_text_values)  # 输出: ['Apple', 'Banana', 'Orange', 'Berries', 'Apple']

# 若担心部分字典没有目标键,可加判断过滤
all_safe_text_values = [item['text'] for item in Data if 'text' in item]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 01:54:23