Day 6 Collections系列

counter:对字典进行处理,用于计算元素出现的个数

#!/usr/bin/env python# -*- coding: utf-8 -*-# Author: wanghuafeng

import collections#计数器,Counterobj = collections.Counter("asdfghjgioccvbnjrtubvg6782bnsh2bn")print(obj)#取前4个数,排序按照从多到少ret = obj.most_common(4)print(ret)#obj:处理完的数据for k,v in obj.items():    print(k, v)

#elements:原生的值,未经过加工处理的for i in obj.elements():    print(i)
#!/usr/bin/env python# -*- coding: utf-8 -*-# Author: wanghuafeng

import collectionsobj = collections.Counter([‘11‘, ‘22‘, ‘33‘, ‘44‘, ‘55‘])print(obj)#增加obj.update([‘eric‘, ‘11‘, ‘11‘])print(obj)#删除obj.subtract([‘eric‘, ‘11‘, ‘11‘])print(obj)

有序字典

#!/usr/bin/env python# -*- coding: utf-8 -*-# Author: wanghuafeng

import collections#列表+字典=有序字典,key取列表中的元素dic = collections.OrderedDict()dic[‘k1‘] = ‘v1‘dic[‘k2‘] = ‘v2‘dic[‘k3‘] = ‘v3‘dic[‘k4‘] = ‘v4‘dic[‘k5‘] = ‘v5‘dic[‘k6‘] = ‘v6‘dic[‘k7‘] = ‘v7‘dic[‘k8‘] = ‘v8‘print(dic)
#!/usr/bin/env python# -*- coding: utf-8 -*-# Author: wanghuafeng

import collections#列表+字典=有序字典,key取列表中的元素dic = collections.OrderedDict()dic[‘k1‘] = ‘v1‘dic[‘k2‘] = ‘v2‘dic[‘k3‘] = ‘v3‘dic[‘k4‘] = ‘v4‘dic[‘k5‘] = ‘v5‘dic[‘k6‘] = ‘v6‘dic[‘k7‘] = ‘v7‘dic[‘k8‘] = ‘v8‘print(dic)#移动到最后dic.move_to_end(‘k1‘)print(dic)#后进先出dic.popitem()print(dic)#指定取数,pop将取出的数据为己有ret = dic.pop(‘k3‘)print(dic)print(ret)#设置默认值,如果存在不做任何操作,如果不存在则增加dic.setdefault(‘k9‘,‘22‘)print(dic)#更新dic.update({‘k1‘:‘v1‘, ‘k10‘:‘v10‘})print(dic)

默认字典

#!/usr/bin/env python# -*- coding: utf-8 -*-# Author: wanghuafeng

import collectionsvalues = [11, 22, 33, 44, 55, 66, 77, 88]my_dict = collections.defaultdict(list)

for value in values:    if value > 33:        my_dict[‘k1‘].append(value)    else:        my_dict[‘k2‘].append(value)

print(my_dict)

可命名元祖

#创建类,defaultdictMytupleClass = collections.namedtuple(‘MytupleClass‘,[‘x‘, ‘y‘, ‘z‘])print(help(MytupleClass))obj = MytupleClass(11, 22, 33)print(obj.x)print(obj.y)print(obj.z)

双向队列

#!/usr/bin/env python# -*- coding: utf-8 -*-# Author: wanghuafeng

import collections

d = collections.deque()#增加一个d.append(‘1‘)#往左增加d.appendleft(‘10‘)d.appendleft(‘1‘)print(d)#统计个数ret = d.count(‘1‘)print(ret)#扩展,右边增加d.extend([‘yy‘, ‘qq‘, ‘11‘])print(d)#扩展,左边增加d.extendleft([‘y1y‘, ‘q2q‘, ‘131‘])
print(d)
#从右取数插入左边d.rotate(3)print(d)

单向队列

import queue
#创建单向队列q = queue.Queue()#增加数据q.put(‘123‘)q.put(‘456‘)print(q.qsize())#按顺序取数据print(q.get())
 
时间: 2024-08-27 12:16:20

Day 6 Collections系列的相关文章

python 数据结构 - collections系列

python中collections系列是对字典.元祖等数据结构的补充,不是python内置的,在使用之前,需要用 import collections 导入. 在collections系列中主要有以下内容: 1. Counter(seq) Counter()继承了dict类,其中seq为可迭代对象.接收seq,并以字典形式返回seq中每个元素(hashable)出现的次数. 1 import collections 2 3 s = 'abcdedcbae' 4 l = ['a','b','c'

Python 学习日记第五篇 -- collections系列

一.计数器(counter) 计数器(counter)以字典的形式返回序列中各个字符出现的次数,值为key,次数为value #!/usr/bin/env python #-*- coding:utf-8 -*- #导入collections模块 import collections counter_test = collections.Counter("asfafjhadgkhjkgfjhgfjhaghdg") print(counter_test) #返回值 C:\Python27

collections系列功能介绍

collections模块是python2.7.3之后新加的功能. 1.1.计数器(Counter) Counter是对字典类型的补充,用于追踪值的次数 ps:具备字典的所有功能 + 自己的功能 >>> import collections >>> c1=collections.Counter('asdasdf') >>> print c1 Counter({'a': 2, 's': 2, 'd': 2, 'f': 1}) 1.2.c.update(d

7.Python自学之路:collections系列

一丶计数器(counter) counter是对字典类型的补充,用于追踪值的出现次数,它集成了父类dict所有的功能. import collections obj = collections.Counter('aaabbbcccddd') #collections文件下的Counter类 print(obj) #以字典的形式返回 ret = obj.most_common(4) print(ret) #前4名最多的 for k in obj.elements(): #element原生的值 p

python小白-day3 collections系列

一.计数器(Counter) Counter是对字典类型的补充,用于追踪值的出现次数. 注:因Counter继承于dict类,所以其具备dict类的所有功能 1 import collections 2 c1 = collections.Counter('skdhflsdkngsnlknvdlfb') 3 print(c1) Counter 1.__missing__(self, key)对于不存在的元素,返回计数器为0 import collections c1 = collections.C

Python collections系列之可命名元组

可命名元组(namedtuple)  根据nametuple可以创建一个包含tuple所有功能以及其他功能的类 1.创建一个坐标类 import collections # 创建类, defaultdict,坐标中会使用 MytupleClass = collections.namedtuple('MytupleClass',['x', 'y', 'z']) obj = MytupleClass(11, 22, 33) 2.查询类中的x,y,z坐标 # 默认情况下元组只能使用索引进行访问,通过创

python之路-字典扩展collections系列

collections是对字典的补充,提供了一些比较方便的方法,使用时需要先导入模块 导入模块: import collections 1. 计数器Counter 统计参数中出现的次数,以字典的方式返回结果,参数可以是字符串,列表,元祖等. 简单使用: import collections collections.Counter a = collections.Counter('aadfadfadfdfadfadfad') print(a) #输出结果为: Counter({'a': 7, 'd

Python collections系列之双向队列

双向队列(deque) 一个线程安全的双向队列 1.创建一个双向队列 import collections d = collections.deque() d.append('1') d.appendleft('10') d.appendleft('a') d.appendleft('1') 2.查看双向队列 print(d) 输出结果: deque(['1', 'a', '10', '1']) 3.查看双向队列的方法 >>> dir(d) ['__class__', '__copy__

Python - Collections系列

collections的常用类型有: 计数器(Counter) 双向队列(deque) 默认字典(defaultdict) 有序字典(OrderedDict) 可命名元组(namedtuple) 使用以上类型时需要导入模块 from collections import * 详见http://blog.csdn.net/songfreeman/article/details/50502194 原文地址:https://www.cnblogs.com/imageSet/p/8455266.html