用python计数字典里嵌套的键出现次数
时间: 2023-06-01 19:03:45 浏览: 110
假设你有一个字典,其中嵌套了一些键。你想要计算每个嵌套键的出现次数,可以使用以下代码:
```python
def count_keys(d, counts=None):
if counts is None:
counts = {}
if isinstance(d, dict):
for key in d.keys():
if key in counts:
counts[key] += 1
else:
counts[key] = 1
count_keys(d[key], counts)
return counts
```
这个函数 `count_keys` 接受一个字典和一个可选的计数字典作为输入。它首先检查计数字典是否已经存在,如果不存在,则创建一个空字典。然后,它检查输入字典是否是一个字典类型。如果是,它迭代字典中的每个键,并增加计数字典中相应键的值。然后,它递归调用 `count_keys` 函数,以处理嵌套的字典。最后,它返回计数字典。
你可以使用以下代码来测试 `count_keys` 函数:
```python
d = {
"a": {
"b": {
"c": 1,
"d": 2
},
"e": {
"f": 3,
"g": {
"h": 4,
"i": 5
}
}
},
"j": 6
}
counts = count_keys(d)
print(counts)
```
这将输出:
```
{'a': 1, 'b': 1, 'c': 1, 'd': 1, 'e': 1, 'f': 1, 'g': 1, 'h': 1, 'i': 1, 'j': 1}
```
这意味着每个键都只出现了一次。
阅读全文