python defaultdict(Counter)
时间: 2024-11-30 12:18:17 浏览: 0
Python专业技巧: Start using Python defaultdict and Counter in place of dictionary
`defaultdict`是Python内置的字典子类,它提供了一种方便的方式来初始化默认值,特别是当你需要一个映射结构,并希望对于不存在的键有一个预先设定好的默认值时。当尝试访问一个不存在的键时,`defaultdict`会返回你指定的默认工厂函数创建的一个新值,而不是抛出KeyError。
`collections.Counter`是一个特殊的`defaultdict`实例,用于计数元素。它内部使用的是整型作为默认工厂,所以当你试图增加一个尚未计数过的键时,它的值会被自动设为1。你可以像对待普通字典一样对`Counter`进行增、减操作,它会跟踪每个元素出现的次数。
例如:
```python
from collections import Counter
counter = Counter('hello')
print(counter) # 输出: {'h': 1, 'e': 1, 'l': 2, 'o': 1}
# 如果某个字符不存在,它会被自动添加并计数为1
counter['world'] # 输出: Counter({'h': 1, 'e': 1, 'l': 2, 'o': 1, 'w': 1, 'r': 1, 'd': 1})
```
阅读全文