Python 字典
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()方法:
>>> 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)