Python字典的get方法和setdefault方法非常相似,都是接受一个键和一个缺省值(缺省值默认为None)。
区别
get方法
如果字典中包含给定键,则返回该键对应的值。否则返回缺省值。
get方法不改变字典。
setdefault方法
如果字典中包含给定键,则返回该键对应的值。
当字典中不包含该键,不仅返回缺省值,还在字典中添加该键值对。
简单示例
get方法
>>> dic = {'b': 2, 'a': 1, 'c': 3}
>>> dic.get('a', 100)
1
>>> dic.get('z', 100)
100
>>> dic #字典无改变
{'b': 2, 'a': 1, 'c': 3}
setdefault方法
>>> dic = {'b': 2, 'a': 1, 'c': 3}
>>> dic.setdefault('a', 100)
1
>>> dic #字典中包含给定键时字典无改变
{'b': 2, 'a': 1, 'c': 3}
>>> dic.setdefault('z', 100)
100
>>> dic #字典中不包含给定键时,向字典中添加该键值对
{'b': 2, 'a': 1, 'c': 3, 'z': 100}