zoukankan      html  css  js  c++  java
  • 学习python——collections系列

    1、counter——对字典类型的补充,用于追踪值的出现次数。具备字典的功能+自己的功能。继承了dict的功能。

    Eg

    Import collections

    Obj=collections.Counter(“aabbccddds”) #对字符串里的字母记数,Counter首字母大写

    Ret=obj.mostcommon(3) #拿到前三项

    Print(obj)

     

    #For循环查看obj里的东西

    For item in obj.element():

    Print(item) #返回的值是key,有几个key就返回几个

    For k,v in obj.items():
    print(k,v) #返回keyvalue

     

    obj.update([‘eric’,’11’,’11’]) #更新

    Obj.subtract([‘eric’]) #删除

    2、有序字典

    Dic=collections.OrderDict()

    Dic[‘k1’]=’v1’

    Dict[‘k2’]=’v2’

    Print(dic)

    Dic.move_to_end(‘k1’) #k1键所代表的键和值,拿到最后面

    Print(dic)

    3、默认字典defaultdict

    Dic=collections.defaultdict(list)

    Dic[‘k1’].append(‘alex’)

    Print(dic)

    4、可命名元组(命名了一个元组叫做MytupleClass,然后里面有三个键和值)

    MytupleClass=collections.namedtuple('MytupleClass',['x','y','z'])
    obj=MytupleClass(11,22,33)
    print(obj)
    print(obj.x)
    print(obj.y)
    print(obj.z)

    5、队列

    1deque(双向队列)方法appendextend的区别:append将加入的东西看作一个对象作为整体加入,extend将加入的东西看做一个序列加入;count方法记数队列里的字符个数;rotate将字符串末尾的字符一个一个的拿到前面,比如2就进行两次。

    d=collections.deque()
    a=['ili','li','u']
    d.append(1)
    d.appendleft('10')
    d.append(a)
    print(d)
    r=d.count(1)
    print(r)
    d.extend(a)
    print(d)
    d.rotate(2)
    print(d)

    运行结果》》

    deque(['10', 1, ['ili', 'li', 'u']])

    1

    deque(['10', 1, ['ili', 'li', 'u'], 'ili', 'li', 'u'])

    deque(['li', 'u', '10', 1, ['ili', 'li', 'u'], 'ili'])

     

    (2)单项队列queue

    Import queue

    Q=queue.Queue()

    1. put(‘123’)

    Print(q.qsize())

    Print(q.get())

     

    6、深浅拷贝

    浅拷贝只拷贝一层,而深拷贝拷贝至最小单位。

  • 相关阅读:
    UNIX网络编程之旅配置unp.h头文件环境[ 转]
    C++著名程序库
    开源框架完美组合之Spring.NET + NHibernate + ASP.NET MVC + jQuery + easyUI 中英文双语言小型企业网站Demo
    网络库介绍
    置顶问题
    最近做的一个项目
    Storm 遇到问题?
    海量算法视频下载
    Quartz.NET作业调度框架详解
    c#中的委托、事件、Func、Predicate、Observer设计模式以及其他
  • 原文地址:https://www.cnblogs.com/zyycumt/p/11540211.html
Copyright © 2011-2022 走看看