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

Python中的字典处理函数:get()、pop()等

发布时间:2023-06-07 16:22:20

Python中的字典是一种非常常见且实用的数据结构。在大量的编程场景中,字典的处理几乎是必不可少的。为了更好地应对这些场景,Python提供了很多字典处理函数,其中包括get()、pop()等。今天,就让我们一起来学习一下这些函数的具体用法吧。

一、get()函数的介绍和用法

get()函数是字典中的一个非常常用的函数,由于Python的字典中有些key是不存在的,如果我们直接访问一个不存在的key就会直接报错,这样显然不是我们所期望的结果。但是get()函数可以帮助我们避免这种情况的发生,从而避免程序崩溃。

get()函数的用法非常简单,语法如下:

dict.get(key, default=None)

其中,key表示要查找的键值,default表示键值不存在时,返回的默认值,如果不指定默认值,则返回None。

需要注意的是,如果指定了默认值,当键值不存在时,get()函数并不会将这个默认值加入到字典中。

接下来,让我们来看一下get()函数的具体用法:

info_dict = {'name': 'Jack', 'age': 18, 'gender': 'male'}

# 情况1:key存在
print(info_dict.get('name'))     # 输出Jack

# 情况2:key不存在,但是没有指定默认值
print(info_dict.get('grade'))    # 输出None

# 情况3:key不存在,指定了默认值
print(info_dict.get('grade', 'N/A'))    # 输出N/A

二、pop()函数的介绍和用法

pop()函数是字典中另一个非常常用的函数,它用于删除字典中指定的key-value,并返回该value。如果删除的key-value不存在,pop()函数会抛出异常。

pop()函数的用法非常简单,语法如下:

dict.pop(key, default=None)

其中,key表示要删除的键值,default表示键值不存在时,返回的默认值,如果不指定默认值,则抛出KeyError异常。

需要注意的是,如果指定了默认值,当键值不存在时,pop()函数并不会将这个默认值加入到字典中。

接下来,让我们来看一下pop()函数的具体用法:

info_dict = {'name': 'Jack', 'age': 18, 'gender': 'male'}

# 情况1:key存在
print(info_dict.pop('name'))     # 输出Jack
print(info_dict)    # 输出 {'age': 18, 'gender': 'male'}

# 情况2:key不存在,但是没有指定默认值
print(info_dict.pop('grade'))    # 抛出KeyError异常

# 情况3:key不存在,指定了默认值
print(info_dict.pop('grade', 'N/A'))    # 输出N/A

三、setdefault()函数的介绍和用法

setdefault()函数是字典中的一个非常实用的函数,它可以在字典中添加键值对。如果指定的key已经存在于字典中,则返回其对应的value;否则,将指定的key-value添加到字典中。

setdefault()函数的用法比较简单,但需要注意的是,如果key-value已经存在于字典中,那么指定的value不会起作用。

语法如下:

dict.setdefault(key, default=None)

其中,key表示要设置的键值,default表示键值不存在时,要设置的默认值,如果不指定默认值,则默认值为None。

下面,让我们来看一下setdefault()函数的具体用法:

info_dict = {'name': 'Jack', 'age': 18, 'gender': 'male'}

# 情况1:key存在,指定了value,默认值不起作用
info_dict.setdefault('name', 'Tom')
print(info_dict)    # 输出{'name': 'Jack', 'age': 18, 'gender': 'male'}

# 情况2:key不存在,指定了value
info_dict.setdefault('grade', 90)
print(info_dict)    # 输出{'name': 'Jack', 'age': 18, 'gender': 'male', 'grade': 90}

# 情况3:key不存在,没有指定value,默认值为None
info_dict.setdefault('city')
print(info_dict)    # 输出{'name': 'Jack', 'age': 18, 'gender': 'male', 'grade': 90, 'city': None}

四、update()函数的介绍和用法

update()函数可以用于更新字典中的键值对。如果指定的key已经存在于字典中,则更新其对应的value;否则,将指定的键值对添加到字典中。

update()函数的用法非常简单,语法如下:

dict.update(dict2)

其中,dict2表示要更新到原字典中的键值对。

接下来,让我们来看一下update()函数的具体用法:

info_dict = {'name': 'Jack', 'age': 18, 'gender': 'male'}

# 情况1:更新已有的key
info_dict.update({'name': 'Tom'})
print(info_dict)    # 输出{'name': 'Tom', 'age': 18, 'gender': 'male'}

# 情况2:添加新key
info_dict.update({'grade': 90})
print(info_dict)    # 输出{'name': 'Tom', 'age': 18, 'gender': 'male', 'grade': 90}

# 情况3:将一个字典合并到另一个字典中
new_dict = {'city': 'Beijing', 'hobby': 'reading'}
info_dict.update(new_dict)
print(info_dict)    # 输出{'name': 'Tom', 'age': 18, 'gender': 'male', 'grade': 90, 'city': 'Beijing', 'hobby': 'reading'}

综上所述,Python中的字典处理函数大多数都非常简单,但却非常实用。我们可以根据实际需求灵活地使用它们,从而让我们的程序更加明确、高效。