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里面的都是对原有的类型的加工而已,扩展了一些功能



  • 相关阅读:
    flask -服务端项目搭建
    蓝图 Blueprint
    flask-session
    flask-数据库操作 / ORM/Flask-SQLAlchemy/数据表操作/数据操作/数据库迁移
    在 Flask 项目中解决 CSRF 攻击
    Flask-Script 扩展/自定义终端命令/Jinja2模板引擎
    Flask项目创建/http的会话控制/Cookie/Session/请求钩子/异常捕获/context
    redtiger sql injection 练习
    流畅的python--序列构成的数组
    流畅的python--python的数据模型
  • 原文地址:https://www.cnblogs.com/bluesl/p/9079557.html
Copyright © 2011-2022 走看看