您好,欢迎来到欧得旅游网。
搜索
您的当前位置:首页词典统计词频的优化方法(collections模块--defaultdict、Counte。。。

词典统计词频的优化方法(collections模块--defaultdict、Counte。。。

来源:欧得旅游网
词典统计词频的优化⽅法(collections模块--defaultdict、

Counte。。。

现在假设这样⼀种情况,有⼀组列表字符串。我们需要统计每个字符串出现的次数,并以键值对的形式保存起来。下⾯先来演⽰⼀个错误的写法。

a = ['a','b','r','a','d','r']b = {}for i in a: if i in b: b[i] += 1 else:

b[i] = 1print(b)

对于上述代码,我们还可以进⾏优化,即使⽤字典的setdefault来代替if语句。对于不存在的key赋予默认值0,存在的key就不做任何操作。

a = ['a','b','r','a','d','r']b = {}for i in a:

b.setdefault(i, 0) b[i] += 1print(b)

问题来了,我们还可以再优化吗?上⼀次优化虽然去除了if语句,但对于每⼀个key,我们都需要进⾏判断是否需要给⼀个默认值。defaultdict

答案是可以再次优化,python提供了⼀种默认值字典的数据结构。它允许我们在定义字典时给所有不存在的key设置默认值,这样当取不存在的key时,就不会报错。

from collections import defaultdicta = ['a','b','r','a','d','r']b = defaultdict(int)for i in a: b[i] += 1print(b)

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- ovod.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务