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

如何统计交易字典中各商品项的出现次数?

统计交易中商品项的出现次数

给定交易数据字典和商品列表:

transactions = {
   "T1": ["A", "B", "C", "E"],
    "T2": ["A", "D", "E"],
    "T3": ["B", "C", "E"],
    "T4": ["B", "C", "D", "E"],
    "T5": ["B", "D", "E"]
}
items = ["A", "B", "C", "D", "E"]

已经初始化了统计字典occurr:

occurr = dict()
for x in items:
    occurr[x] = 0

需要把这个字典更新为各商品的实际出现次数,目标结果:

{'A': 2, 'B':4, 'C': 3, 'D': 3, 'E': 5}

方法一:嵌套循环更新已有字典

直接遍历每一笔交易里的商品,对统计字典的对应值累加:

# 遍历所有交易的商品列表
for items_list in transactions.values():
    for item in items_list:
        occurr[item] += 1

print(occurr)

运行后occurr就会变成目标结果,这种方法完全基于你已初始化的字典来修改,逻辑直白易懂。

方法二:用collections.Counter快速统计

如果不想手动写循环,可以用Python标准库的Counter工具,一步完成统计:

from collections import Counter

# 把所有交易的商品合并成一个列表
all_items = []
for items_list in transactions.values():
    all_items.extend(items_list)

# 统计每个商品的出现次数
occurr = Counter(all_items)
# 若需要严格保持items里的顺序,转成指定顺序的字典
occurr = {item: occurr[item] for item in items}

print(occurr)

这种方法代码更简洁,适合处理大量交易数据的场景。

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

相关产品推荐
方舟 Agent Plan

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

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