《python必学模块-collections》第4章 defaultdict功能详解

from collections import defaultdict

#再讲解defaultdict之前,我们先了解一下传统dict完成统计功能
user_dict ={}
users = ['bobby1', 'bobby2', 'bobby3', 'bobby1','bobby2', 'bobby2']
#统计名字出现的次数
for user in users:
    if user not in user_dict:
        user_dict[user] = 1
    else:
        user_dict[user] += 1
print(user_dict)

# 那么有没有办法对上面的代码更加的精简化呢?
#第一种
user_dict ={}
users = ['bobby1', 'bobby2', 'bobby3', 'bobby1','bobby2', 'bobby2']
for user in users:
    user_dict.setdefault(user, 0)
    user_dict[user] += 1

print(user_dict)

# 有没有还要精简的呢?
default_dict=defaultdict(int)
users = ['bobby1', 'bobby2', 'bobby3', 'bobby1','bobby2', 'bobby2']
for user in users:
    default_dict[user] += 1

def gen_default():
    return {
        "name":'',
        'nums':0
    }
default_dict = defaultdict(gen_default)
print(default_dict['group1'])

猜你喜欢

转载自blog.csdn.net/shfscut/article/details/80324073