defaultdict和dict
时间: 2023-09-30 17:06:44 浏览: 101
Python dict和defaultdict使用实例解析
defaultdict是Python中的一个字典子类,它在字典的基础上添加了一个默认值函数。与普通的字典不同,当访问一个不存在的键时,defaultdict会自动创建这个键,并且将它的值设为默认值函数的返回结果。
下面是一个示例:
```python
from collections import defaultdict
# 创建一个defaultdict,指定默认值为0
d = defaultdict(int)
d['a'] = 1
d['b'] = 2
print(d['a']) # 输出 1
print(d['b']) # 输出 2
print(d['c']) # 输出 0,因为键'c'不存在,使用默认值函数int()返回0
```
相比之下,普通的字典在访问不存在的键时会抛出KeyError异常。而使用defaultdict,我们可以避免在操作字典时频繁判断键是否存在。
另外需要注意的是,在创建defaultdict时需要传入一个默认值函数作为参数。这个默认值函数可以是任何可调用对象,例如int、list、str等。当访问一个不存在的键时,会自动调用默认值函数来生成默认值。
dict是Python内置的字典类型,它是无序的键值对集合。在dict中,每个键必须是唯一的,并且只能是不可变的数据类型(如字符串、整数、元组);而值可以是任意对象。
使用dict时,我们可以通过键来访问、插入、修改或删除对应的值。字典提供了丰富的方法和操作,方便我们对数据进行管理和操作。
```python
# 创建一个普通的字典
d = {'a': 1, 'b': 2}
print(d['a']) # 输出 1
print(d['b']) # 输出 2
# 修改值
d['a'] = 3
# 插入键值对
d['c'] = 4
# 删除键值对
del d['b']
print(d) # 输出 {'a': 3, 'c': 4}
```
总结来说,defaultdict是dict的子类,提供了默认值功能;而dict是Python内置的字典类型,用于存储无序的键值对。
阅读全文