python字典的setdefault()方法——不存在则增加键值对,存在则不变化

发布时间 2023-07-17 15:44:02作者: No九五二七9527

setdefault() 方法是Python字典(dict)类提供的一个方法,用于获取指定键的值,如果键不存在,则插入指定的默认值,并返回该值。以下是对 setdefault() 方法的详细说明:

语法:

dict.setdefault(key, default)

参数说明:

  • key:要查找和插入的键。
  • default:如果键不存在,则插入的默认值。

返回值:

  • 如果键存在,则返回与键关联的值。
  • 如果键不存在,则插入指定的默认值,并返回该默认值。

示例用法:

person = {"name": "Alice", "age": 25}

# 获取键为 "gender" 的值
gender = person.setdefault("gender", "unknown")
print(gender)  # 输出: unknown

# 输出更新后的字典
print(person)
# 输出: {'name': 'Alice', 'age': 25, 'gender': 'unknown'}

# 获取键为 "age" 的值
age = person.setdefault("age", 30)
print(age)  # 输出: 25(原先已存在的值)

# 输出更新后的字典
print(person)
# 输出: {'name': 'Alice', 'age': 25, 'gender': 'unknown'}

在上述示例中:

  • 首先,我们有一个名为 person 的字典,包含了键 "name" 和 "age" 的键值对。
  • 我们使用 setdefault() 方法来获取键 "gender" 的值,由于该键不存在,所以插入了默认值 "unknown",并返回该值。
  • 然后,我们打印字典中更新后的内容,可以看到键 "gender" 已被插入到字典中。
  • 接下来,我们再次使用 setdefault() 方法来获取键 "age" 的值,由于该键已经存在于字典中,所以返回了与该键关联的原有值,也就是 25
  • 最后,我们再次打印字典的内容,可以看到原始的字典没有发生变化。

setdefault() 方法在需要在字典中获取键的值,并在键不存在时设置默认值时非常有用,它可以简化代码并提高效率。