作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是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/
我是一名优秀的程序员,十分优秀!