python - 减去字典中的所有值是值是 float 列表

标签 python list dictionary subtraction

我有两个字典,每个值都是一个 float 列表

d1 = {'a': [10,11,12], 'b': [9,10,11], 'c': [8,9,10], 'd': [7,8,9]}

d2 = {'a': [1,1,1], 'b': [2,3,2], 'c': [1,2,2], 'd': [4,3,4]}

我想减去字典 d1-d2 之间的值并得到结果:

d3 = {'a': [9,10,11], 'b': [7,7,9], 'c': [7,7,9], 'd': [3,5,5] }

我在这个网站上找到了关于如何减去每个键只有一个浮点值的字典,以及如何在每个字典内而不是在字典之间减去列表的条目。

此外,还需要考虑速度,因为我每次要使用不同的词典运行此程序约 200,000 次。

最佳答案

使用字典理解

zip:

>>> {k:[x-y for x, y in zip(d1[k], d2[k])] for k in d1}
{'a': [9, 10, 11], 'c': [7, 7, 8], 'b': [7, 7, 9], 'd': [3, 5, 5]}

map :

>>> from operator import sub
>>> {k:map(sub, d1[k], d2[k]) for k in d1}
{'a': [9, 10, 11], 'c': [7, 7, 8], 'b': [7, 7, 9], 'd': [3, 5, 5]}

关于python - 减去字典中的所有值是值是 float 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21336634/

相关文章:

java - Java XMLRPC 中的 Python 元组

python - 将字段附加到大小为 ONE 的结构化数组时出现 TypeError

python - 从列表创建数据框

r - 如何查看列表的任何元素是否仅包含 R 中的某个值

R:使用一个变量的值作为新变量来更改数据帧结构

python - 需要列表的问题

c# - 如何在 C# 中订购字典?

python - 如何在另一个脚本的主脚本中使用两个辅助函数

python - 防止包安装在旧的 Python 版本上

python - 如何创建饼图?