python list 里面嵌套dict ,通过ditc字段a 做统计,给出demo
时间: 2024-02-09 17:08:18 浏览: 122
好的,以下是一个示例代码,假设有一个嵌套字典的列表 `data`,其中每个字典都有一个字段 `a`,我们要对相同的 `a` 值进行统计:
```python
data = [
{'a': 'apple', 'b': 1},
{'a': 'banana', 'b': 2},
{'a': 'apple', 'b': 3},
{'a': 'orange', 'b': 4},
{'a': 'banana', 'b': 5},
{'a': 'apple', 'b': 6},
]
result = {}
for item in data:
a_value = item['a']
if a_value in result:
result[a_value] += 1
else:
result[a_value] = 1
print(result)
```
输出结果为:
```
{'apple': 3, 'banana': 2, 'orange': 1}
```
其中,字典 `result` 的键是不同的 `a` 值,值是该 `a` 值出现的次数。
相关问题
python list 里面嵌套dict ,对dict的字段a 进行分组
可以使用Python内置的itertools库中的groupby函数来对嵌套字典中的字段进行分组。具体步骤如下:
1. 首先,我们需要将嵌套字典的列表按照字段a进行排序,以便后续的分组操作。可以使用sorted函数来实现。
2. 然后,我们可以使用itertools库中的groupby函数来对排序后的列表进行分组。groupby函数需要两个参数:第一个参数是要分组的列表,第二个参数是一个函数,用于指定按照哪个字段进行分组。在这里,我们可以使用lambda函数来指定按照字典中的'a'字段进行分组。
3. 最后,我们可以将分组后的结果转换为字典,以便更方便地进行后续的操作。可以使用字典推导式来实现。
下面是示例代码:
```python
from itertools import groupby
# 嵌套字典的列表
data = [{'a': 1, 'b': 2}, {'a': 2, 'b': 3}, {'a': 1, 'b': 4}, {'a': 3, 'b': 5}]
# 按照'a'字段进行排序
data_sorted = sorted(data, key=lambda x: x['a'])
# 对排序后的列表按照'a'字段进行分组
groups = groupby(data_sorted, key=lambda x: x['a'])
# 将分组后的结果转换为字典
result = {k: list(v) for k, v in groups}
# 输出结果
print(result)
```
输出结果为:
```
{1: [{'a': 1, 'b': 2}, {'a': 1, 'b': 4}], 2: [{'a': 2, 'b': 3}], 3: [{'a': 3, 'b': 5}]}
```
python的dict嵌套dict
Python的dict可以嵌套dict,例如:
```
my_dict = {
'person1': {'name': 'Alice', 'age': 25},
'person2': {'name': 'Bob', 'age': 30}
}
```
这个字典中有两个键值对,每个键值对的值都是一个字典。可以通过以下方式访问嵌套的字典:
```
print(my_dict['person1']['name']) # 输出:Alice
print(my_dict['person2']['age']) # 输出:30
```
阅读全文