zoukankan      html  css  js  c++  java
  • Python: dict setdault函数与collections.defaultdict()的区别

    setdault用法

    >>>dd={'hy':1,'hx':2}

    >>>cc=dd.setdefault('hz',1)

    >>>cc      返回1,是新加的健对应的值

    >>>dd      返回{'hy':1,'hx':2,'hz':1}

     

    >>>cc=dd.setdefault('hz',100)   返回1,不改变原来的值

    Python字典setdefault()函数:

    如果键不存在于字典中,将会添加键并将值设置为默认值

    defualtdict()用法

    eg1:

     >>>from collections import defaultdict

    >>>ss=[('g1',1),('g1',2),('g2',1)]

    >>>dss=defaultdict(list)

    >>>for k,v in ss:

    ...  dss[k].append(v)

    ...

    >>>dss   返回 defaultdict(<class 'list'>, {'g1':[1,2],'g2':[1]})

     

     eg2:

    >>>dedd=defaultdict(int)

    >>>dedd['hy']=1

    >>>dedd   返回defaultdict(<class 'int'>,{'hy':1})

    >>>dedd['as']   返回0,键['as']不在dedd中

    dict setdault函数与collections.defaultdict()的区别:

    1.defaultdict跟setdefaul等价,但是更快

    2.defaultdict创建字典时,对每个新的键都会指定默认值,它的参数是一个函数

    使用int(),dict(),list()作为参数,默认值分别返回0,空字典{},空列表[], 如果删掉该函数的参数,新建的初始值会被设置为None

  • 相关阅读:
    oracle 常用函数
    css 让div 置于最顶层而不被其他东西挡住
    hibernate学习
    css居中参考
    log4j 将日志文件输出到web-inf下的解决办法
    mybatis 传递多个值的解决办法
    web项目中的路径问题
    sring 监听器
    struts2返回json字符串
    java 需要看的书籍
  • 原文地址:https://www.cnblogs.com/baxianhua/p/8276018.html
Copyright © 2011-2022 走看看