给字典设置默认值在Python中是一种很常见的操作。如果一个字典没有某一个键,则会出现KeyError的错误。但是,我们可以设置默认值,这样,如果字典没有某个键,则会返回我们设置的默认值。下面介绍两种方法。
方法1:使用dict.setdefault方法
dict.setdefault方法可以设置字典的默认值,其函数定义如下:
dict.setdefault(key, default=None)
其中,key是要查找的字典键,default是键对应的默认值,如果字典中没有该键,则会添加该键并返回default。
示例代码如下:
d = {'a': 1, 'b': 2}
print(d.get('c', 3)) # 输出 3
print(d) # 输出 {'a': 1, 'b': 2}
print(d.setdefault('c', 3)) # 输出 3
print(d) # 输出 {'a': 1, 'b': 2, 'c': 3}
在上面的代码中,首先使用了get方法获取字典d中键为'c'的值,由于d中没有'c'这个键,所以get方法返回了默认值3。然后使用setdefault方法给字典d设置了默认值,当字典中没有'c'这个键时,就添加该键,并将'value'设置为默认值3。
方法2:使用collections的defaultdict类
collections模块中的defaultdict类可以为字典提供默认值,其函数定义如下:
defaultdict([default_factory[, ...]])
其中,default_factory用于指定默认值的产生方式,可以是函数、字符串、数字等,如果没有指定,则默认为None。
示例代码如下:
from collections import defaultdict
d = defaultdict(int)
print(d['a']) # 输出 0
d = defaultdict(str)
print(d['a']) # 输出 ''
d = defaultdict(list)
print(d['a']) # 输出 []
d = defaultdict(dict)
print(d['a']) # 输出 {}
在上面的代码中,首先利用defaultdict构建一个整数类型的字典d,并访问字典中键为'a'的值,由于字典中没有'a'这个键,所以返回了指定的默认值0。接着分别利用defaultdict构建一个字符串类型的字典、一个列表类型的字典和一个字典类型的字典,并打印出字典中对应键的值,均返回了指定的默认值。
以上就是Python中给字典设置默认值的两种方法,可以根据实际的需求选择合适的方法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python中如何给字典设置默认值 - Python技术站