Python字典的setdefault() 和get()方法比较

枫铃3年前 (2021-09-30)Python248

setdefault() 函数 —有key获取值、没key设置 key:default

 dict.setdefault(key, default=None)
  • 如果 key 在 字典中,返回对应的值。

  • 如果 key 不在字典中,则插入 key 及设置的默认值 default,并返回 default ,default 默认值为 None。

get()函数—有key获取值、没key返回default:

dict.get(key, default=None)
  • 返回指定键的值,如果值不在字典中返回默认值 None。

话不多说,上栗子:

setdefault()方法:

>>> dict = {}  
>>> dict['成龙'] = '演员'  #添加键值对
>>> dict 
{'成龙': '演员'} 
>>> dict.setdefault('成龙' , 'Duang')     # 值('演员')存在,故返回值('演员'),而不是'Duang' 
'演员' 
>>> dict 
{'成龙': '演员'} 
>>> dict.setdefault('窦唯' , '歌手') 
'歌手' 
>>> dict 
{'成龙': '演员', '窦唯': '歌手'}

get()方法:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> dict.setdefault('波多',18) 
18>>> dict 
{'成龙': '演员', '窦唯': '歌手', '波多': 18} 
>>> dict.get('成龙') 
'演员' 
>>> dict.get('波多') 
18 

附练习:

# 循环迭代message字符串中每个字符,计算每个字符出现的次数
# 涉及的技能包:1.字典的get()和setdeafult()方法 2.漂亮打印pprint
 
import pprint
message = 'It was a bright cold day in May,andd the clocks were striking thirteen.'
count = {}
 
#1 字典的setdefault()方法
for character in message:
    count.setdefault(character,0) #查询此次计数前此字母出现的次数
    count[character] = count[character] + 1 #更新次数(for每次遍历一个字母,故次数加一)
     
pprint.pprint (count)
 
 
count1 = {}
#2 字典的get()方法
for character in message:  
    count1[character] = count1.get(character,0)+ 1 #查询出现次数,并加一
     
print (count1)

相关文章

Python 操作字典 的几个技巧

Python 中的字典是Python中一个键值映射的数据结构,下面介绍一下如何优雅的操作字典. 1 创建字典 Python有两种方法可以创建字典,第一种是...

Python练习题:批量删除多个文件夹内的相同文件

应用场景: 下载的多个文件夹是压缩包,解压后每个文件夹都有某个网站的推广链接,想要批量的删除该文件 使用环境&#...

python 嵌套字典取值增强版

def getdictvalue(d,code): result=[] if isinstance(d, dict) :...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。