欢迎访问宙启技术站
智能推送

Python字典函数get()和setdefault()的使用场景

发布时间:2023-07-23 02:33:10

字典是Python中非常常用的数据结构,它是一种可变的、无序的键值对集合。在字典中,键是 的,而值则可以重复。字典的创建可以使用花括号{}或者dict()函数。在字典中,常用的函数有get()和setdefault()。下面会详细介绍它们的使用场景。

#### get()函数

get()函数的作用是返回指定键的值,如果键不存在,则返回默认值。语法如下:

dict.get(key, default)

其中,key是要查找的键,default是键不存在时要返回的默认值。如果不传入默认值,则默认为None。

get()函数的使用场景有以下几种:

1. 获取字典中存在的值。当我们需要获取字典中某个键对应的值时,可以直接使用get()函数。例如:

info = {'name': 'Alice', 'age': 18, 'gender': 'female'}
name = info.get('name')
print(name)  # 输出:Alice

2. 避免键不存在时的错误。当我们使用字典中的某个键时,如果该键不存在,直接使用字典的[key]会抛出KeyError异常,但使用get()函数则不会。例如:

info = {'name': 'Alice', 'age': 18, 'gender': 'female'}
address = info.get('address')
print(address)  # 输出:None

3. 设置默认值。当我们使用get()函数获取字典中不存在的键值时,可以通过传入一个默认值来替代None。例如:

info = {'name': 'Alice', 'age': 18, 'gender': 'female'}
address = info.get('address', 'unknown')
print(address)  # 输出:unknown

#### setdefault()函数

setdefault()函数的作用是获取字典中指定键的值,如果键不存在,则向字典中添加该键,并设置默认值(如果有)。语法如下:

dict.setdefault(key, default)

其中,key是要查找的键,default是键不存在时要设置的默认值。如果不传入默认值,则默认为None。

setdefault()函数的使用场景有以下几种:

1. 添加新键及默认值。当我们需要向字典中添加一对新的键值对时,可以直接使用setdefault()函数。例如:

info = {'name': 'Alice', 'age': 18, 'gender': 'female'}
info.setdefault('address', 'unknown')
print(info)  # 输出:{'name': 'Alice', 'age': 18, 'gender': 'female', 'address': 'unknown'}

2. 获取键不存在时的默认值。当我们使用setdefault()函数获取字典中不存在的键值时,可以通过传入一个默认值来替代None。例如:

info = {'name': 'Alice', 'age': 18, 'gender': 'female'}
address = info.setdefault('address', 'unknown')
print(address)  # 输出:unknown

3. 避免键已存在时的修改。当我们需要设置一个新的默认值,但只在键不存在时才进行设置时,可以使用setdefault()函数。例如:

info = {'name': 'Alice', 'age': 18, 'gender': 'female'}
info.setdefault('age', 20)
print(info)  # 输出:{'name': 'Alice', 'age': 18, 'gender': 'female'}

总结来说,get()函数通常用于获取字典中的值,并且可以设置默认值来避免异常。而setdefault()函数则用于获取字典中的值,并且可以设置默认值来添加新键或避免修改已存在的键值。两者在处理字典操作时非常有用,可以使代码更简洁、更可读、更安全。