Python标准库之collections

容器数据类型,collections模块包含除内置类型list、dict和tuple以外的其他容器数据类型。

下面我们来学习一下,collections模块的常见用法。

Counter访问计数

对于未知元素,Counter不会产生KeyError。如果在输入中没有找到某个值,其计数为0。

运行程序,你将看到如下输出:

输出结果说明,字符a在'abcdaab'中出现了3次,字符b在'abcdaab'中出现了2次,以此类推。

把字符串生成序列

运行程序,你将看到如下输出:

这个方法不能保证元素的顺序不变。

字符出现频度统计

使用most_common()方法,可以统计一个字符串中,出现频率最高的字符及其次数。

运行程序,你将看到如下输出:

deque

deque支持从任意一端增加和删除元素。更为常用的两种结构,就是栈和队列。

在队列中添加元素

运行程序,你将看到如下输出:

从右端删除一个元素

运行程序,你将看到如下输出:

从左端删除一个元素

运行程序,你将看到如下输出:

队列元素向右旋转

向右旋转,是指从右端取元素,把它们移到左端。

运行程序,你将看到如下输出:

队列元素向左旋转

向左旋转,是指从左端取元素,把它们移到右端。

运行程序,你将看到如下输出:

OrderedDict

OrderedDict是一个字典子类,可以记住其内容增加的顺序。

常规dict并记录插入元素顺序,迭代处理时会根据键在字典中存储的顺序来生成值。但是在OrderedDict中则相反,它会记住元素插入的顺序,并在创建迭代器时使用这个顺序。

运行程序,你将看到如下输出:

由于两个有序字典由不同顺序的值创建,所以认为这两个有序字典是不同的。

小结

这一次主要学习了collections库中Counter、deque、OrderedDict常见的用法。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180505G1D5XW00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券