zoukankan      html  css  js  c++  java
  • Python中的defaultdict函数

    在这里插入图片描述

    from collections import defaultdict
    

    defaultdict

    用于产生一个带有默认值的dict。主要针对key不存在的情况下,也希望有返回值的情况。

    >>> a = dict()
    >>> a['k1'] = 1
    >>> a
    {'k1': 1}
    >>> a['k2']
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    KeyError: 'k2'
    >>>
    

    对于普通的dict,key不存在就报错。

    但是对于defaultdict,key不存在就会返回默认值。

    那么默认值如何设定?通过给defaultdict()方法传参,传入的是一个函数(或叫做方法),当key不存在时,返回的就是这个函数的默认返回值。

    >>> a = defaultdict(int)
    >>> a
    defaultdict(<class 'int'>, {})
    >>> a['k2']
    0
    >>>
    

    此时就不会报错。而且返回值是0。

    我们还发现了,原来int这个内置函数的默认值是0。看这个示例:

    >>> print(int())
    0
    

    这里的函数可以是任意自定义函数,只要又default的return即可。

    >>> from collections import defaultdict
    >>> def fun(): return 666
    ...
    >>> fun()
    666
    >>> a = defaultdict(fun)
    >>> a
    defaultdict(<function fun at 0x10a8185f0>, {})
    >>> a['nonexist_key']
    666
    >>>
    

    风雨凄凄 鸡鸣喈喈

    既见君子 云胡不夷

    2020年03月12日 20:18:09

  • 相关阅读:
    正则表达式-汉字的匹配方法
    python 正则匹配中文(unicode)(转)
    Notepad++ 快捷键 大全
    gvim 编辑器配置
    gvim代码补全
    UNICODE,GBK,UTF-8区别
    AJAX
    day 75 中间件
    Cookie和Session 装饰器的修复技术
    必知必会13条 单表查询之双下划线 ForeignKey操作 ManyToManyField 聚合分组
  • 原文地址:https://www.cnblogs.com/morikokyuro/p/13256664.html
Copyright © 2011-2022 走看看