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

统计各product_id订购次数并生成对应字典的技术实现需求

统计产品订购次数并生成字典

给定的订单数据如下:

orders = {'U123':{'name':'Sumit Shukla', 'email':'ss@gmail.com', 'phone':8608538199, 'product':['p1', 'p2', 'p5']},
         'U121':{'name':'Ajay', 'email':'aj@gmail.com', 'phone':7708538199, 'product':['p5', 'p2', 'p5']},
         'U124':{'name':'Vijay', 'email':'vj@gmail.com', 'phone':870853819, 'product':['p1', 'p2', 'p3']},
         'U126':{'name':'Rahul', 'email':'rh_gmail.com', 'phone':8607858189, 'product':['p1', 'p5', 'p5']},
         'U183':{'name':'Shree', 'email':'shree@gmail.com', 'phone':8908938159, 'product':['p1', 'p1', 'p1']},
         'U143':{'name':'shivani', 'email':'shivani@gmail', 'phone':855853019, 'product':['p5', 'p2', 'p5']}}

方法一:基础循环统计

手动遍历所有订单中的产品,逐个计数:

product_counts = {}

# 遍历每个用户的订单信息
for user_order in orders.values():
    # 遍历当前用户订购的所有产品
    for product in user_order['product']:
        # 如果产品已在字典中,计数加1;否则初始化为1
        if product in product_counts:
            product_counts[product] += 1
        else:
            product_counts[product] = 1

print(product_counts)

方法二:使用collections.Counter简化操作

利用Python标准库的Counter工具,可以更简洁地完成统计:

from collections import Counter

# 先收集所有订购的产品到一个列表中
all_products = []
for user_order in orders.values():
    all_products.extend(user_order['product'])

# 用Counter统计次数,再转为普通字典
product_counts = dict(Counter(all_products))

print(product_counts)

运行结果

两种方法都会得到相同的统计结果:

{'p1': 6, 'p2': 4, 'p5': 8, 'p3': 1}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 01:55:18