擅长:python、mysql、java
<p>不知道<code>null</code>来自何处,但您可以使用str.查找要提取部分子字符串和<code>defaultdict</code>来处理重复键:</p>
<pre><code>from collections import defaultdict
dd = defaultdict(float)
for k, v in d.items():
dd[k[k.find("_"):]] += sum(v)
print(dd)
defaultdict(<class 'float'>, {'_ITEM1': 0.1425, '_ACTION1': 10.084907, '_ACTION2': 213.0, '_ITEM2': 2458.8625})
</code></pre>
<p>如果null实际上为“无”,则将其过滤掉:</p>
^{pr2}$
<p>或者只保留数字:</p>
<pre><code> import numbers
dd[k[k.find("_"):]] + sum(i for i in v if isinstance(i, numbers.Number))
</code></pre>