gpt4 book ai didi

python - 如何循环遍历多个字典来提取值

转载 作者:行者123 更新时间:2023-12-01 08:34:28 25 4
gpt4 key购买 nike

我是Python新手,我想解决这个问题。我有许多产品唯一 ID(即 5331008574423、5331118575423、5901008573323),每次在产品上进行交易时,都有两个与它们关联的数字代表供应商(即 5GHF5、89YOUT、892HG)和交易 id(SPE4A718PE141、SME4A) 788PE147 , SYE4B58PE333)

我想获取每种产品发生的交易金额的计数。因此我决定计算与每个productid 关联的交易ID。

我为每个产品ID创建了一个字典

然后将每笔交易添加到各自的productid最后将所有 ProductID 字典附加到一个大字典中,以便我可以循环遍历每个字典并获取每个 ProductID 的所有交易 Id 的计数。

我启动了字典

 ProductIDs ={}
BigDictionary = {}

并将每笔交易添加到字典中,如下所示

ProductIDs[transaction_id] = suplier_id

我正在尝试做这样的事情

5331118575423: [89YOUT, SPE4A718PE141], [SME4A788PE147,892HG], [89YOUT,SPE4A718PML90]

然后将上面的字典附加到 BigDictionary

  BigDictionary.append(ProductIDs)

并循环遍历每个产品 ID 以获取所有 transactionID 的计数

        for productID, ProductTrans in BigDictionary:

此时我陷入困境,是否有更好的方法来解决这个问题以及如何循环遍历每个产品 ID 并打印产品 ID 和交易 ID 计数?

最佳答案

您需要创建一个字典,默认为每个元素的列表,例如 {[], [], []... },为此您应该执行:

from collections import defaultdict
product_transactions = defaultdict(list)

此时您可以像这样附加带有供应商 ID 的交易:

product_transactions[product_id].append((transaction_id, supplier_id))

现在计算您可以执行的每种产品的交易:

for product_id, transactions in product_transactions.items():
print(len(transactions))

关于python - 如何循环遍历多个字典来提取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53792573/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com