zoukankan      html  css  js  c++  java
  • collections模块之defaultdict()与namedtuple()方法简单介绍

    一、defaultdict()

    作用:根据数据创建字典时,需要为一些数据生成字典,而且对值得类型进行限定的时候,考虑defaultdict

    from collections import defaultdict
    
    list_01 = [('Apple', 10), ('Pen', 20), ('Apple', 30), ('Pen', 40), ('Banana', 33)]
    
    d01 = defaultdict(list)  # 生成一个defaultdict对象
    for k, v in list_01:
        d01[k].append(v)
    
    print(d01)  # defaultdict(<class 'list'>, {'Apple': [10, 30], 'Pen': [20, 40], 'Banana': [33]})
    print(dict(d01.items()))  # {'Apple': [10, 30], 'Pen': [20, 40], 'Banana': [33]}
    print(list(d01.items()))  # [('Apple', [10, 30]), ('Pen', [20, 40]), ('Banana', [33])]

    补充理解:

    list_01 = [('Apple', 10), ('Pen', 20), ('Apple', 30), ('Pen', 40), ('Banana', 33)]
    
    dict01 = {}
    for k, v in list_01:
        dict01.setdefault(k, []).append(v)
    
    print(dict01)
    print(list(dict01.items()))

    二、namedtuple()

    namedtuple是继承自tuple的子类。namedtuple和tuple比,有更多更酷的特性。namedtuple创建一个和tuple类似的对象,而且对象拥有可以访问的属性。这对象更像带有数据属性的类,不过数据属性是只读的。

     

  • 相关阅读:
    python装饰器
    python名称空间和作用域
    python函数-函数对象
    python函数-参数
    python文件高级操作
    python基本文件操作
    python2和3的区别
    OSI-传输层
    Android屏幕density, dip等相关概念总结
    架构设计:系统间通信(20)——MQ:消息协议(下)
  • 原文地址:https://www.cnblogs.com/suguangti/p/11728823.html
Copyright © 2011-2022 走看看