counter是dictionary对象的一个子类。collections模块中的counter()函数接受iterable,例如list或tuple,并返回计数器字典。字典的键将是iterable的唯一元素,每个键的值将是iterable中元素的计数。
2.defaultdict
该函数的工作原理与普通的python字典完全相同,额外的好处是当你试图访问一个不存在的键时,它不会抛出错误。
相反,它使用默认值初始化key。默认值是根据创建DefaultDict对象时作为参数传递的数据类型自动设置的。
3.deque
队列是计算机科学中遵循先进先出(fifo)原则的基本数据结构。简单地说,这意味着添加到队列中的第一个对象也必须是要删除的第一个对象。大家只能在队列前面插入内容,只能从后面删除内容——队列中间不能执行任何操作。collections库的deque实现了该功能的优化版本。该实现的一个关键特性是保持队列大小,即如果将队列的最大大小设置为10,则deque将根据fifo原则添加和删除元素,以保持最大大小为10。这是目前为止python中队列的最佳实现。
4.namedtuple
在python中创建常规元组时,其元素是通用的和未命名的。这迫使你记住每个元组元素的确切索引。namedtuple就是这个问题的解决方案。
namedtuple()返回一个元组,该元组中每个位置的名称都是固定的,而namedtuple对象的名称是通用的。要使用namedtuple,首先为它创建一个模板。下面的代码创建一个名为「person」的namedtuple模板,该模板具有「name」、「age」和「job」参数。