zoukankan      html  css  js  c++  java
  • python collection 系列

    1:counter :计算出每一个字符出现的个数,并返回一个字典

    obj = collections.Counter('aadfkla;jfl') 
    print(obj)
    print(obj.most_common(5))#拿到counter里面的前5位
    
    
    
    

    2:有序字典:普通字典是无序的,获取里面的值通过key-value的形式获取,而有序字典则是有顺序的

    dic = collections.OrderedDict()
    dic['k1'] = 'v1'
    dic['k2'] = 'v2'
    dic['k3'] = 'v3'
    dic.move_to_end('k1')
    print(dic)
    dic.popitem() #重后面取出
    print(dic)
    
    print(dic.pop('k2'))#指定取出的key
    print(dic)

    3:默认字典:也就是指定字典值的类型

    dic = collections.defaultdict(list)
    dic['k1']=['v1'] #这里在指定值的时候以定要加上【】不然相当于把值的类型又改为str了
    dic['k2']='v2'
    dic['k1'].append('v11')
    print(dic)
    
    
    

    4:可命名元组:应用的方向:对于表示坐标时,取值的时候不能用下标来取而是通过obj.x(obj.y)来取

    MytupleClass = collections.namedtuple('MytupeClass',['x','y','z']) #这里参数名称可以用()亦可以用【】
    
    
    obj = MytupleClass(11,22,33)
    print(obj.x)
    print(obj.y)
    print(obj.z)
    print(help(MytupleClass))
    
    print(obj)

    5:双向队列:就是队列的两边都可以进行插入和取出的操做

    obj = collections.deque()
    obj.appendleft('22')
    obj.append('33')
    print(obj.count('22'))
    obj.extend(['33','3333','555','888'])#右边扩展
    obj.extendleft('jdjf','sdd') #左边扩展
    obj.index('22')  #取出该值的索引(从左到右的第一个)
    obj.insert('2','2hahah')
    obj.pop()#取出
    obj.reverse()#反转
    obj.rotate() #把数据从右边逐个取出插入左边
    
    print(obj)
    
    

    6:注意:队列不是collection里面的,而是python内部就有的,消息机制就是通过队列来实现的

    import queue
    # qsize:个数
    #empty
    #full是否填满;消息机制就是用队列来实现的;
    q = queue.Queue()
    q.qsize()
    q.put('123')
    q.get()
    print(q.get())
    
    

    collections里面的都是对原有的类型的加工而已,扩展了一些功能



  • 相关阅读:
    个人作业——软件工程实践总结作业
    用户调查报告
    β总结
    凡事预则立
    学习进度条
    作业八——单元测试练习(个人练习)
    作业七——“南通大学教务管理系统微信公众号” 用户体验分析
    作业六——团队作业(学生成绩录入系统设计与实现)
    作业5——需求分析(学生成绩录入系统)
    作业4.2:结对项目—— 词频统计(第二阶段)
  • 原文地址:https://www.cnblogs.com/bluesl/p/9079557.html
Copyright © 2011-2022 走看看