python - 将 2d dict 的 dict 中的值除以与该键匹配的另一个 dicts 值
问题描述
这些字典很长,我需要遍历多个键值。举一个简短的例子。从长远来看,我需要将所有数字除以适当的计数以获得平均值。
counts = {'A':10, 'B':14}
totals = {'A':{'atk':20,'str':20,'def':20},
'B':{'atk':140,'str':140,'def':140}}
我需要更新总数,以便最终
totals = {'A':{'atk':2,'str':2,'def':2},
'B'{'atk':10, 'str':10,'def':10}}
解决方案
我会使用O(1)
dict 查找进行 dict 理解
>>> {k1: {k2: v/counts[k1] for k2, v in d.items()} for k1, d in totals.items() }
{'A': {'atk': 2.0, 'str': 2.0, 'def': 2.0},
'B': {'atk': 10.0, 'str': 10.0, 'def': 10.0}}
总能扩大领悟。。
f = {}
for k1, d in totals.items():
sub = {}
for k2, v in d.items():
sub[k2] = v/counts[k1]
f[k1] = sub
推荐阅读
- networking - 如何从 ns3 中的 QueueDiscItem 中提取 IP 地址?
- python - 如何使 Google AI Platform 的 BASIC_GPU 规模层上的 GPU 对我的 tensorflow 程序可见?
- xcode - 在终端中使用 codesign 命令签名后,使用 Unity 构建的 macOS 应用程序在启动时挂起
- css - 如何强制 material-ui 生成!重要的 css 样式以防止 WordPress/Gutenberg css 样式冲突?
- java - BiometricPrompt.AuthenticationResult 中的 CryptoObject 始终为 null
- java - Keycloak 示例 - 方法 getValue() 未为 UserCredentialModel 类型定义
- c# - 带有 SpecFlow 挂钩的 NuGet 包
- swift - 如何在 Swift4 中不使用 inputIntensity 参数控制 CIFilter 的强度?
- python - 根据另一列中的值将列值从一列附加到另一列
- vim - 如何从 cnoremap 执行命令?