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
    >>>

    参考链接:

    https://blog.csdn.net/edogawachia/article/details/104826952

    collections.deque

    作用: list-like container with fast appends and pops on either end (两边都可以 append 和 pop)

    参考链接:

    https://docs.python.org/3.6/library/collections.html?highlight=collections#module-collections

    Code your future.
  • 相关阅读:
    springMVC总结
    spring总结
    dubbo文档
    mysql集群
    JVM-优化
    JVM-GC日志打印
    JVM-垃圾回收
    JVM-问题定位示例
    C++11
    《疯狂的程序员》
  • 原文地址:https://www.cnblogs.com/neozheng/p/14638373.html
Copyright © 2011-2022 走看看