📅  最后修改于: 2023-12-03 15:14:40.972000             🧑  作者: Mango
在 Python 中,Dictionary 是一种用于存储键值对的数据类型。而 setdefault() 是一个 Dictionary 类型中的方法,用于获取给定键的值,如果键不存在于字典中,则会添加键并将值设为默认值。
dictionary.setdefault(key, default=none)
下面是一个简单的示例,将说明 setdefault() 的用法:
# 创建字典
dict = {'a': 1, 'b': 2}
# 通过 key 'c' 获取值,设默认值为 None
value = dict.setdefault('c')
print("dict['c'] = ", value) # dict['c'] = None
# 在字典中添加一个新键值对,并设置默认值
value2 = dict.setdefault('d', 4)
print("dict['d'] = ", value2) # dict['d'] = 4
# 字典原始值不变
print(dict) # {'a': 1, 'b': 2, 'c': None, 'd': 4}
上面的代码块运行结果如下:
dict['c'] = None
dict['d'] = 4
{'a': 1, 'b': 2, 'c': None, 'd': 4}
在第一次调用 setdefault() 方法时,由于键 'c' 不存在于字典中,它将被添加到字典中,并返回默认值 None。在第二次调用 setdefault() 方法时,由于键 'd' 不存在于字典中,它也会被添加到字典中,并返回 4 作为其默认值。
在以上示例中,最后打印的字典原始值不变,其中包括了 'c' 和 'd' 两个键值对。这就是与 get() 方法的一个重要区别,get() 方法只是查找键值对的值,而不会修改原始字典。
setdefault() 方法是一个非常有用的 Dictionary 方法,它允许程序员在字典中获取键值对的值,并在键不存在的情况下设置默认值。它比直接使用 get() 方法更加灵活,能够在字典中同时添加新的键值对。因此,在开发 Python 程序的过程中,掌握 setdefault() 方法的用法是非常有必要的。