python字典统计值出现次数

 2025-08-27  阅读 24  评论 0

摘要:在Python中,可以使用字典来统计值的出现次数,具体方法取决于数据来源和需求。以下是几种常见场景的解决方案:
1. 统计列表元素的出现次数
目标:统计列表 `[1, 2, 3, 1, 2, 1]

在Python中,可以使用字典来统计值的出现次数,具体方法取决于数据来源和需求。以下是几种常见场景的解决方案:

python字典统计值出现次数

1. 统计列表元素的出现次数

目标:统计列表 `[1, 2, 3, 1, 2, 1]` 中每个元素的出现次数,结果为 `{1: 3, 2: 2, 3: 1}`。

方法一:使用普通字典

python

lst = [1, 2, 3, 1, 2, 1]

counts = {}

for item in lst:

counts[item] = counts.get(item, 0) + 1

print(counts) 输出: {1: 3, 2: 2, 3: 1}

方法二:使用 `collections.defaultdict`

python

from collections import defaultdict

counts = defaultdict(int)

for item in lst:

counts[item] += 1

print(dict(counts)) 输出: {1: 3, 2: 2, 3: 1}

方法三:使用 `collections.Counter`

python

from collections import Counter

counts = Counter(lst)

print(counts) 输出: Counter({1: 3, 2: 2, 3: 1})

2. 统计字典中值的出现次数

目标:统计字典 `{'a': 1, 'b': 2, 'c': 2, 'd': 3}` 中值的出现次数,结果为 `{1: 1, 2: 2, 3: 1}`。

方法一:遍历字典的值

python

original_dict = {'a': 1, 'b': 2, 'c': 2, 'd': 3}

value_counts = {}

for value in original_dict.values:

value_counts[value] = value_counts.get(value, 0) + 1

print(value_counts) 输出: {1: 1, 2: 2, 3: 1}

方法二:使用 `collections.Counter`

python

from collections import Counter

value_counts = Counter(original_dict.values)

print(dict(value_counts)) 输出: {1: 1, 2: 2, 3: 1}

  • 普通字典:适合基础场景,无需导入库。
  • `defaultdict`:简化键的存在性判断,代码更简洁。
  • `Counter`:最简洁高效的方式,提供额外统计功能(如 `most_common`)。
  • 根据需求选择合适的方法,灵活应对不同场景的统计任务。

    版权声明: 知妳网保留所有权利,部分内容为网络收集,如有侵权,请联系QQ793061840删除,添加请注明来意。

    原文链接:https://www.6g9.cn/bkkp/dde7eAz5XU1FT.html

    发表评论:

    关于我们
    知妳网是一个专注于知识成长与生活品质的温暖社区,致力于提供情感共鸣、实用资讯与贴心服务。在这里,妳可以找到相关的知识、专业的建议,以及提升自我的优质内容。无论是职场困惑、情感心事,还是时尚美妆、健康生活,知妳网都能精准匹配妳的需求,陪伴妳的每一步成长。因为懂妳,所以更贴心——知妳网,做妳最知心的伙伴!
    联系方式
    电话:
    地址:广东省中山市
    Email:admin@qq.com

    Copyright © 2022 知妳网 Inc. 保留所有权利。 Powered by

    页面耗时0.0433秒, 内存占用1.7 MB, 访问数据库19次