list 多个属性分组求和
时间: 2023-10-09 22:09:22 浏览: 103
可以使用Python中的`defaultdict`和`for`循环来实现多个属性分组求和。假设有一个包含多个字典的列表`data`,每个字典包含`category`和`value`两个属性:
```python
from collections import defaultdict
data = [
{'category': 'A', 'value': 10},
{'category': 'B', 'value': 20},
{'category': 'A', 'value': 30},
{'category': 'B', 'value': 40},
{'category': 'C', 'value': 50},
]
```
现在需要按照`category`属性进行分组,并对每个分组的`value`属性求和。可以使用如下代码实现:
```python
result = defaultdict(int)
for item in data:
result[item['category']] += item['value']
```
这里使用`defaultdict`来创建一个默认值为0的字典`result`,然后使用`for`循环遍历`data`列表中的每个字典,将`category`属性作为`result`字典的键,并将对应的`value`属性累加到`result`字典中。最终得到的`result`字典的内容如下:
```python
{
'A': 40,
'B': 60,
'C': 50
}
```
即每个`category`属性对应的`value`属性的和。
阅读全文