前言
Python包含6种内置的序列:列表、元组、字符串 、Unicode字符串、buffer对象、xrange对象。在序列中的每个元素都有自己的编号。列表与元组的区别在于,列表是可以修改,而组元不可修改。理论上几乎所有情况下元组都可以用列表来代替。有个例外是但元组作为字典的键时,在这种情况下,因为键不可修改,所以就不能使用列表。
我们在一些统计工作或者分析过程中,有事会遇到要统计一个序列中出现最多次的元素,比如一段英文中,查询出现最多的词是什么,及每个词出现的次数。一遍的做法为,将每个此作为key,出现一次,value增加1。
例如:
morewords = ['why','are','you','not','looking','in','my','eyes']
for word in morewords:
word_counts[word] += 1
collections.Counter类就是专门为这类问题而设计的, 它甚至有一个有用的 most_common() 方法直接给了你答案。
collections模块
collections模块自Python 2.4版本开始被引入,包含了dict、set、list、tuple以外的一些特殊的容器类型,分别是:
OrderedDict类:排序字典,是字典的子类。引入自2.7。
namedtuple()函数:命名元组,是一个工厂函数。引入自2.6。
Counter类:为hashable对