zoukankan      html  css  js  c++  java
  • python之collection模块

    collections 是python内建的一个集合模块。

    namedtuple可以很方便的定义一种数据类型,他具备tuple的不可变性,也可以根据属性来引用,非常方便。

    from collections import  namedtuple
    point = namedtuple('p',['x','y'])
    p = point(1,2)
    print(p.x) #1
    print(p.y) #2
    # namedtuple('名称', [属性list]):
    Circle = namedtuple('Circle', ['x', 'y', 'r'])

    deque可以高效的实现插入和删除的双向列表,适用于队列和栈。

    from collections import deque
    q= deque(['a','b','c'])
    q.append('x') 
    q.appendleft('y')
    print(q) 
    
    #deque(['y', 'a', 'b', 'c', 'x'])
    

    defaultdict

    使用dict时,如果key不存在,则抛出KeyError,如果希望key不存在时,返回一个默认值,可以用defaultdict。

    from collections import defaultdict
    dic = defaultdict(lambda :'N/A')
    dic['k1'] = 'abc'
    print(dic['k1']) #‘abc’
    print(dic['k2']) #N/A
    

    OrderedDict

    使用dict时,key是无序的,如果要保证key的顺序,可以用OrderedDict。OrderedDict的key是按照插入的顺序排列,不是key本身排序。

    from collections import OrderedDict
    dic = dict([('a',1),('b',2),('c',3)])
    dic1 = OrderedDict([('a',1),('b',2),('c',3)])
    print(dic.keys()) #dict_keys(['a', 'b', 'c'])
    print(dic1.keys()) #odict_keys(['a', 'b', 'c'])
    

    Counter是一个简单的计数器,目的是用来跟踪值出现的次数。它是一个无序的容器类型,以字典的键值对形式存储。其中元素为key,个数为value. 计数值可以是任意的interger(含0和负数)

    from collections import Counter
    c = Counter('abcdeabcdabcaba')
    print(c)
    输出:Counter({'a': 5, 'b': 4, 'c': 3, 'd': 2, 'e': 1})

      

  • 相关阅读:
    fmri资源站点
    spm教程
    linux下ntfs硬盘的加载
    Unix网络编程代码 第13章 守护进程和inetd超级服务器
    APUE16章的运行示例16-14
    Linux守护进程详解(init.d和xinetd)
    centos安装g++
    linux下daemon守护进程的实现(以nginx代码为例)
    Linux进程学习(孤儿进程和守护进程)
    Linux之TCPIP内核参数优化
  • 原文地址:https://www.cnblogs.com/Uncle-Guang/p/9008394.html
Copyright © 2011-2022 走看看