Python中Counter如何使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
Counter函数的功能主要是计数器,特别是在对源数据是字典类型的数据进行计数时,如果不想写冗长繁琐的for循环,那么使用Counter函数将是一个不错的选择。
colors = [{'red':4},{'blue':5},{'red':8},{'green':7},{'blue':8},{'blue':10},{'green':12}]
方法一——使用比较传统的循环方法:
result = {}for i in colors: if list(i.keys())[0] not in result: result[list(i.keys())[0]] = list(i.values())[0] else: result[list(i.keys())[0]] += list(i.values())[0] {'red': 12, 'blue': 23, 'green': 19}
如果这里使用collections标准库中的Counter函数,则整个过程会无比简单:
方法二——Counter函数:
from collections import Counterc = Counter()for i in colors: c[list(i.keys())[0]] += list(i.values())[0] Counter({'blue': 23, 'green': 19, 'red': 12})
这里Counter容器实现了一个自动化的计数器,当Counter中不存在某个键时,赋值操作会自动创建一个新的键,而不是像方法一中那样需要手动去判断某个键是否已经存在在字典里面。
除此之外,Counter神奇的地方在于它有很多可以简单调用的统计方法,比如我们想要获取结果中正序/倒序的TOPN记录,则可以直接这样写:
c.most_common(2)[('blue', 23), ('green', 19)]
看完上述内容,你们掌握Python中Counter如何使用的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。