zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    SSD3 MultipleChoice Quiz 3
    vivizhyy 喜欢 win7 任务栏的地方
    win7 蓝屏事件
    win7 窗口靠近屏幕边缘时……
    写 SSD3 遇见很 囧 的事情
    用上 win7 了
    win7 快捷键
    SSD3 : MultipleChoice Quiz 4
    EasyUI——常见用法总结
    JQuery——那些当时我想不到的知识点
  • 原文地址:https://www.cnblogs.com/jiangbei/p/10995470.html
Copyright © 2011-2022 走看看