python 进阶(15) -- 字典计数优化


[HTML_REMOVED][HTML_REMOVED]若是不相见,心中难免有牵挂[HTML_REMOVED][HTML_REMOVED]

缘由

在需要使用python进行数据处理的地方,经常需要使用字典来进行计数,如下:

city = ['Guangzhou','Shanghai','Tianjin','Guangzhou','Beijing']

dic = {}

for c in city:
    if c not in dic:
        dic[c] = 1
    else:
        dic[c] += 1    

改进

在网上看到一个更为简单的方法,直接使用字典的 get 方法直接精简代码

city = ['Guangzhou','Shanghai','Tianjin','Guangzhou','Beijing']

dic = {}

for c in city:
    dic[c] = dic.get(c,0) + 1

dict的 get(key,default) 方法用于获取字典中 key 的值,若不存在该 key,则将 key 赋默认值default,直接省掉了 if-else 语句