zoukankan      html  css  js  c++  java
  • Python学习之collections module-defaultdict()

    defaultdict()继承自dict系统内置类型
    defaultdict()定义以及作用:
        返回一个和dictionay类似对象,和dict不同:
          1. 可以制定key对应value类型
          2. 不必担心key没有默认值,defaultdict有默认value

    示范代码如下:

    from collections import defaultdict
    list0 = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
    dict0 = defaultdict(list)
    for k, v in list0:
        dict0[k].append(v)
    
    print(list(dict0.items()))
    
    dict1 = {}
    for k, v in list0:
        dict1.setdefault(k, []).append(v)
    print(list(dict1.items()))
    
    dict2 = {}
    for k, v in list0:
        dict2[k].append(v)
    
    print(dict2.items())
    

     输出结果如下:

    [('blue', [2, 4]), ('red', [1]), ('yellow', [1, 3])]
    [('blue', [2, 4]), ('red', [1]), ('yellow', [1, 3])]
    Traceback (most recent call last):
      File "collections_test.py", line 16, in <module>
        dict2[k].append(v)
    KeyError: 'yellow'
    

     dict0 = defaultdict(list)创建一个defaultdict类型,value的类型是list。该函数主要用于生成字典时候限制value类型;

    而setdefault必须手动制定value类型。

  • 相关阅读:
    DVI与DVI-D的区别
    easyui.combotree.search.js
    显示实时日期时间(html+js)
    Jquery 内容简介
    EasyUI 格式化DataGrid列
    EasyUI DataGrid 添加排序
    EasyUI DataGrid 复选框
    EasyUI 自定义DataGrid分页
    EasyUI DataGrid能编辑
    EasyUI 我的第一个窗口
  • 原文地址:https://www.cnblogs.com/wenwangt/p/4467068.html
Copyright © 2011-2022 走看看