• Python3入门(十三)——常用内置模块之集合模块collections


    1.namedtuple

      主要用来定义一种数据类型:它具有Tuple的不变性,而且又能通过属性来访问

    例如定义坐标:

    from collections import namedtuple
    
    Point = namedtuple("Point", ["x", "y"])
    p1 = Point(1, 2)
    p2 = Point(3, 4)
    print(p1.x) #1
    print(p2.y) #4

      注意此处,Point对象是tuple的一种子类,他只能有2个属性

    2.deque

      双向链表,相比于List,插入删除更快!

    3.defaultdict

      使得dict在KeyError时有默认值

    4.OrderedDict

      可以实现有序的dict,是一个FIFO的dict

    5.ChainMap

      可以把一组dict串成一个逻辑上的dict,本身也是一个dict

    6.Counter

      一个计数器,本身也是dict,用来计算次数比较方便!(元素为key,计数为value)

      初始化方法:

    c = Counter()  # 创建一个空的Counter类
    c = Counter('gallahad')  # 从一个可iterable对象(list、tuple、dict、字符串等)创建
    c = Counter({'a': 4, 'b': 2})  # 从一个字典对象创建
    c = Counter(a=4, b=2)  # 从一组键值对创建

      使用示例:

    >>> from collections import Counter
    >>> c = Counter()
    >>> for ch in 'programming':
    ...     c[ch] = c[ch] + 1
    ...
    >>> c
    Counter({'g': 2, 'm': 2, 'r': 2, 'a': 1, 'i': 1, 'o': 1, 'n': 1, 'p': 1})
    from collections import Counter
    
    c = Counter("abcggss")
    print(c)

    结果:

    Counter({'g': 2, 's': 2, 'a': 1, 'b': 1, 'c': 1})

    常用操作,参考:http://www.pythoner.com/205.html

  • 相关阅读:
    [洛谷P1155] 双栈排序
    [洛谷P4315] 月下”毛景“树
    [洛谷P2486] [SDOI2011]染色
    [HNOI2010] 弾飞绵羊
    mysql注入总结
    cisco交换机实现端口聚合
    python为运维人员打造一个监控脚本
    复习ACCESS注入
    利用sfc文件构建网络渗透
    FTP站点设置
  • 原文地址:https://www.cnblogs.com/jiangbei/p/10995470.html
Copyright © 2020-2023  润新知