我的字典看起来像这样:
{'A': ([ 0. , 1.0 , 2.0, 3.0, 0. , 0. , 0. , 0. , 0. ]),
'B': ([ 0. , 4.0, 5.0 , 6.0, 0. , 0. , 0. , 0. , 0. ]),
.
.
.
'Y': ([ 0. , 7.0, 8.0 , 9.0, 0. , 0. , 0. , 0. , 0. ]),
'Z': ([ 0. , 10.0, 20.0, 30.0, 0. , 0. , 0. , 0. , 0. ])}
我想总结第2,第3和第4个元素并制作一个如下所示的新词典:
{'A': ([6.0]),
'B': ([15.0]),
.
.
.
'Y': ([24.0]),
'Z': ([60.0])}
这样做的pythonic方法是什么?我使用的是Python 2.7。感谢
答案 0 :(得分:5)
使用字典理解来遍历dict项并将值加起来:
{k: v[1:4].sum() for k, v in d.items()}
# {'A': 6.0, 'B': 15.0, 'Y': 24.0, 'Z': 60.0}
如果您想将结果保留为列表:
{k: v[1:4].sum(keepdims=True).tolist() for k, v in d.items()}
# {'A': [6.0], 'B': [15.0], 'Y': [24.0], 'Z': [60.0]}