视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Python基础内容:collections模块
2020-11-27 14:15:11 责编:小采
文档

collections是Python内建的一个集合模块,提供了许多有用的集合类。 1.Counter 计数器Counter是一个简单的计数器,例如,统计字符出现的个数: >>> import
collections>>> obj =
collections.Counter('applebanana')>>> print(obj)Counter({'a': 4, 'n':
2, 'p': 2, 'e': 1, 'l': 1, 'b': 1}) 2.OrderedDict 有序字典 使用dict时,Key是无序的。在对dict做迭代时,我们无法确定Key的顺序。如果要保持Key的顺序,可以用OrderedDict:>>> od =
collections.OrderedDict()>>> od['k2']
='k2'>>> od['k1'] =
'k1'>>> odOrderedDict([('k2',
'k2'), ('k1', 'k1')])或>>> od =
collections.OrderedDict([('k2','v2'),('k1','v1')])>>> odOrderedDict([('k2',
'v2'), ('k1', 'v1')]) 3.defaultdict 默认字典 默认字典会给字典的值设置一个默认类型import collectionsnum =
[11,22,33,44,55,66,77,88,99] #为my_dic字典的值添加默认list类型my_dic =
collections.defaultdict(list) for i in num: if i > 66: my_dic['k1'].append(i) else: my_dic['k2'].append(i)print(my_dic) 4.namedtuple 可命名元祖 namedtuple是一个函数,它用来创建一个自定义的tuple对象,并且规定了tuple元素的个数,并可以用属性而不是索引来引用tuple的某个元素。这样一来,我们用namedtuple可以很方便地定义一种数据类型,它具备tuple的不变性,又可以根据属性来引用,使用十分方便 >>>person = collections.namedtuple('pp',['name','age'])>>>p = person('apple',2)>>>print(p.name)>>>print(p.age) 5.deque 双向队列 使用list存储数据时,按索引访问元素很快,但是插入和删除元素就很慢了,因为list是线性存储,数据量大的时候,插入和删除效率很低。deque是为了高效实现插入和删除操作的双向列表,适合用于队列和栈:>>> dli =
collections.deque([1,2,3])>>>
dli.append(4)>>> dlideque([1, 2, 3, 4])>>>
dli.appendleft(5) #appendleft向左插入数据>>> dlideque([5, 1, 2, 3, 4]) 6.queue 单项队列 (queue模块中) import queueq = queue.Queue()q.put(123)q.put(456)print(q.qsize())print(q.get())#q.get()会将单项队列里面的数据依次取出来print(q.get())

-->

下载本文
显示全文
专题