廖雪峰python学习笔记【19】collections

1. collections是python内置的一个集合模块。提供了许多有用的集合类。

2. namedtuple

    2.1 namedtuple是collections模块中的一个函数。

    2.2 创建出来的是自定义的tuple对象。

    2.3 可以通过属性来访问自定义tuple的某个元素。

    2.4 示例:

            from collections import namedtuple
            Point = namedtuple('Point', ['x', 'y']) # 自定义了一个Point类,该类是tuple的子类。
            p = Point(12, 33) # p是Point类的对象。

3. deque

    3.1 双向list。除了实现了list的append和pop方法外,还支持appendleft和popleft方法,可以实现在list头部添加和删除元素。

    3.2 示例:

        from collections import deque
        ll = deque(['a', 'b', 'c']) # 创建deque类的实例ll。deque类不是list的子类。
        ll.appendleft('d')
        ll.append('e')
        # ll is ['d', 'a', 'b', 'c', e]

4. defaultdict

    4.1 示例:

        from collections import defaultdict
        dd = defaultdict(lambda : "N/A") # 创建defaultdict类的实例dd。defaultdict类是dict类的子类。
        dd['k1'] = 'v1'
        dd['k2'] = 'v2'
        print(dd['k3']) # k3这个key是不存在的,输出:N/A

    4.2 使用dict时,如果访问的key不存在,则会报KeyError错误。

    4.3 使用defaultdict时,如果访问的key不存在,则会输出默认值;默认值是创建defaultdict类的实例时,传入的函数的返回值。

5. OrderedDict

    5.1 使用dict时,key是无序的。

    5.2 使用OrderedDict时,key是按照插入的顺序排序的。

6. Counter

    6.1 Counter是dict的子类。

    6.2 Counter是一个计数器。

    6.3 示例:

            from collections import Counter
            cc = Counter()
            for ch in 'abbcccdddd':
            cc[ch] = cc[ch] + 1 # 统计字符出现的次数。
            print(cc) # 输出:{'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值