我有一个从数据库中获取的列表。
[{
'name': 'John',
'score': 30
}, {
'name': 'Jan',
'score': 23
}, {
'name': 'Mike',
'score': 34
}]
可以numpy得到分数的总和? (没有使用 for in 逐一循环)
请您参考如下方法:
您可以通过对收集所有“分数”的列表推导式执行求和来做到这一点:
sum( [x['score'] for x in MyListOfDictionaries] )
(PS.这里不需要Numpy)
编辑: 正如@sebastian 在评论中指出的那样,列表理解周围的括号不是必需的,因为我们将其直接插入函数中,即:
sum(x['score'] for x in MyListOfDictionaries)
这被称为“生成器”语法;从性能的角度来看,它可以更高效,因为它避免了在处理列表之前为列表分配内存的额外步骤。
