python - 如何将多个转换应用于 Python 字典中的同一个键
问题描述
我是一名库存经理,我的库存如下
oldstock = {"A":100,"B":120,"C":150,"D":100,"E":230,"F":200,"G":180,"H":140,"I":90,"J":50}
但是,我从每个垃圾箱中出售了一些物品,如下所示(似乎字典列表是表示它的最佳方式)
sale = [{"A":20},{"C":25},{"E":15},{"F":18},{"H":20},{"C":35},{"A":40},{"A":5},{"E":40},{"H":20}]
在每箱进行这些销售后,我如何计算我的新库存?
解决方案
一个更干净、易于理解的方法是这样的:
for item in sale:
for k, v in item.items():
# an extra check, you can remove this if you know for sure that sale will never have any key which is not in oldstock
if k in oldstock:
oldstock[k] = oldstock[k] - v
print(oldstock)
# {'A': 35, 'B': 120, 'C': 90, 'D': 100, 'E': 175, 'F': 182, 'G': 180, 'H': 100, 'I': 90, 'J': 50}
希望这可以帮助。祝你好运。
推荐阅读
- regex - 在 Golang 中以任何顺序匹配正则表达式
- c# - 带有 Angular 8 的 ASP.NET Core 3、ASP.NET Core 身份、角色和基于令牌的身份验证
- json - 如何在 dart 中编码和解码自定义对象列表到 JSON 和从 JSON 解码?
- java - Feign 注册 - Spring Cloud - 更改目标而不覆盖功能区
- html - 滚动条隐藏在桌面网站上,不滚动,但它适用于移动浏览器
- auth0 - Auth0 通用登录体验注册挂钩
- django - PayPal付款后如何加快自动返回我的网站
- python - 从 Matlab 调用 Python
- firefox - Fontawesome firefox - 200 而不是 304 并锁定
- presto - 如何在 Athena 中查询不明确的数据类型?