字典操作函数setdefault()的实际应用案例
setdefault()是Python自带的一种字典操作函数,可以用于在字典中查找指定的键,并返回相应的值,如果键不存在,则添加该键,对应的值为默认值。setdefault()函数的基本语法如下:
dict.setdefault(key, default=None)
其中,key为要查找的键的名称,default为默认值,如果该键不存在,则将默认值插入字典中并返回该默认值。
setdefault()函数在实际应用中有很多的用途,下面给出几个汇编案例来说明。
一、自动更新字典的值
假设我们有一个存储用户名和密码的字典,但是我们不知道哪些用户名已经存在于字典中,哪些还没有存在。在创建用户时,我们需要检查用户名是否存在,如果用户名不存在,就将其添加到字典中。
下面是一个使用setdefault()函数实现自动更新字典的值的代码:
user_dict = {'jack': '123', 'tom': '456'}
# 新用户尝试注册
username = input('Please input your username:')
password = input('Please input your password:')
# 如果用户名已经存在,则提示错误信息,否则添加到字典中
if username in user_dict.keys():
print('The username is already exist!')
else:
user_dict.setdefault(username, password)
print('Registered successfully!')
# 输出用户字典
print(user_dict)
在上面的代码中,setdefault()函数的作用是在字典中查找指定的键,并返回相应的值,如果键不存在,则添加该键,对应的值为密码。如果用户名已经存在,则输出错误信息。
二、查找字典的值
假设我们有一个存储同学名字和成绩的字典,我们需要根据名字查找成绩,如果名字不存在,则返回-1。
下面是一个使用setdefault()函数实现查找字典的值的代码:
score_dict = {'tom': 85, 'jack': 90, 'mary': 95}
# 查找同学的成绩
name = input('Please input your name:')
score = score_dict.setdefault(name, -1)
# 如果名字不存在,则返回-1,否则输出成绩
if score == -1:
print('Sorry, the name is not exist!')
else:
print('The score of %s is %d.' % (name, score))
在上面的代码中,setdefault()函数的作用是在字典中查找指定的键,并返回相应的值,如果键不存在,则返回-1。如果名字不存在,则输出错误信息。
三、统计字符串中每个字符的出现次数
假设我们有一个字符串,需要统计其中每个字符的出现次数,并存储到一个字典中。
下面是一个使用setdefault()函数实现统计字符串中每个字符的出现次数的代码:
text = 'Hello, world!'
# 统计字符串中每个字符的出现次数
count_dict = {}
for char in text:
count_dict.setdefault(char, 0)
count_dict[char] += 1
# 输出统计结果
print(count_dict)
在上面的代码中,setdefault()函数的作用是在字典中查找指定的键,并返回相应的值,如果键不存在,则添加该键,对应的值为0。统计每个字符的出现次数时,如果该字符在字典中不存在,则将其添加到字典中。统计完成后,输出统计结果。
四、统计列表中每个单词的出现次数
假设我们有一个列表,需要统计其中每个单词的出现次数,并存储到一个字典中。
下面是一个使用setdefault()函数实现统计列表中每个单词的出现次数的代码:
words = ['hello', 'world', 'hello', 'python', 'world', 'java']
# 统计列表中每个单词的出现次数
count_dict = {}
for word in words:
count_dict.setdefault(word, 0)
count_dict[word] += 1
# 输出统计结果
print(count_dict)
在上面的代码中,setdefault()函数的作用是在字典中查找指定的键,并返回相应的值,如果键不存在,则添加该键,对应的值为0。统计每个单词的出现次数时,如果该单词在字典中不存在,则将其添加到字典中。统计完成后,输出统计结果。
综上所述,setdefault()函数应用广泛,可以用于在实际开发中处理各种问题,帮助我们更加高效地处理数据。
