【发布时间】:2018-11-19 19:04:36
【问题描述】:
我有一个这种形式的字典列表:
[
{'signal_8': 1, 'signal_1': 7, 'signal_10': 5, 'signal_5': 2, 'signal_2': 5, 'signal_6': 3, 'signal_4': 9, 'signal_3': 6, 'signal_9': 4, 'signal_7': 8},
{'signal_8': 1, 'signal_1': 7, 'signal_10': 5, 'signal_5': 2, 'signal_2': 5, 'signal_6': 3, 'signal_4': 9, 'signal_3': 6, 'signal_9': 4, 'signal_7': 8},
{'signal_8': 1, 'signal_1': 7, 'signal_10': 5, 'signal_5': 2, 'signal_2': 5, 'signal_6': 3, 'signal_4': 9, 'signal_3': 6, 'signal_9': 4, 'signal_7': 8},
]
我想为列表中的每个元素按键求和:
{
'signal_8': 3,
'signal_1': 21,
'signal_10': 15,
'signal_5': 6,
'signal_2': 15,
'signal_6': 9,
'signal_4': 27,
'signal_3': 18,
'signal_9': 12,
'signal_7': 24
}
我尝试过的如下:
result = {}
sm = 0
for elm in original_list:
for k,v in elm.items():
sm += v
result[k] = sm
print(result)
但还是不行。
【问题讨论】:
-
为什么会起作用?对于所有不同的信号,您都有一个数字。查看
collections.Counter或.defaultdict。 -
我不明白
test在您的代码中的含义。可以create a minimal, complete and verifiable example吗? -
@daveruinseverything 抱歉,这只是一个拼写错误,我现在更正它
标签: python python-3.x list dictionary