2024-04-26 12:59:17 发布
网友
假设在python中有一个键值对,如下所示。在
a = {'44': [0, 0, 1, 0, 1], '43': [0, 0, 1, 0, 0]}
现在我想将这些值与:
如何用python完成下面的输出?在
c = {'44': [0, 0, 1, 0, 1, 'test1], '43': [0, 0, 1, 0, 0,'test2']}
您可以使用这样的字典理解(从Python 2.7+开始):
c = {k: a[k] + b[k] for k in a}
这假设a和b中都存在相同的密钥。 如果不是这样的话,如果有必要的话,可以绕过这个问题。在
a
b
您可以将^{}与字典理解一起使用,在一行代码中实现这一点,如下所示:
c = {k: v for k, v in zip(a.keys(), (v1 + v2 for v1, v2 in zip(a.values(), b.values())))}
输出:
其他答案是基于这样一个假设:所有涉及的词典都有相同的键。如果您不确定是这样,我建议您使用^{}:
from collections import defaultdict result = defaultdict(list) for d in (a,b): for key, value in d.items(): result[key].append(value)
此外,此解决方案适用于任何数量的词典。只需将所有要合并的字典添加到元组(a,b)。在
(a,b)
您可以使用这样的字典理解(从Python 2.7+开始):
这假设
a
和b
中都存在相同的密钥。 如果不是这样的话,如果有必要的话,可以绕过这个问题。在您可以将^{} 与字典理解一起使用,在一行代码中实现这一点,如下所示:
输出:
^{pr2}$其他答案是基于这样一个假设:所有涉及的词典都有相同的键。如果您不确定是这样,我建议您使用^{} :
此外,此解决方案适用于任何数量的词典。只需将所有要合并的字典添加到元组
(a,b)
。在相关问题 更多 >
编程相关推荐