我有两个 collection.Counter()s,它们都是相同的键,所以它们看起来像这样:
01: 3
02: 2
03: 4
01: 8
02: 10
03: 13
我希望最终结果看起来更像这样:
01: [3, 8]
02: [2, 10]
03: [4, 13]
我将如何合并它们?
我有两个 collection.Counter()s,它们都是相同的键,所以它们看起来像这样:
01: 3
02: 2
03: 4
01: 8
02: 10
03: 13
我希望最终结果看起来更像这样:
01: [3, 8]
02: [2, 10]
03: [4, 13]
我将如何合并它们?
您可以使用字典理解:
dict1 = {1: 3, 2: 2, 3: 4 }
dict2 = {1: 8, 2: 10, 3: 13 }
dict3 = { k: [ dict1[k], dict2[k] ] for k in dict1 }
# Result:
# dict3 = {1: [3, 8], 2: [2, 10], 3: [4, 13]}
没有任何自动方法可以做到这一点,您必须手动循环遍历数组并将它们自己组合成最终输出数组。
如果一个字典没有相同的键,您可能会遇到一些问题。它将抛出一个 KeyField 错误,否则这将起作用。
d1 = {01 : 3, 02: 2, 03: 4}
d2 = {01: 8, 02: 10, 03: 13}
d3 = {}
for key in d1.keys():
d3[key] = [d1[key], d2[key]]
和 d3 将包含
{ 1 : [3, 8], 2: [2, 10], 3: [4, 13] }