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

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

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

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

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

    1
    2
    3
    4
    5
    6
    7
    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。

    1
    2
    3
    4
    5
    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本身排序。

    1
    2
    3
    4
    5
    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)
    1
    输出:Counter({'a'5'b'4'c'3'd'2'e'1})
  • 相关阅读:
    3、第3课CSS块级、行内元素、绝对定位、相对定位、固定位置20150922
    Easyui 正则表达式
    struts 标签
    源码详解Java的反射机制
    MyEclipse8.6安装 spket 插件
    有些路,只能一个人走
    HG8245获取超级管理员(telecomadmin)密码的方法
    easyui doc
    oracle建立自动增长字段
    Java实现二维码QRCode的编码和解码
  • 原文地址:https://www.cnblogs.com/valorchang/p/11282087.html
Copyright © 2011-2022 走看看