zoukankan      html  css  js  c++  java
  • python字典中dict.get()和dict.setdefault()的异同点

    相同点:

    • 两者是参数相同:dict.get(key, default=None), dict.setdefault(key, default=None)
    • 如果指定的键不存在时,两者都返回默认值,默认是None
    • 如果指定的键存在时,即使设置默认值,返回的还是指定键的值

    不同点:

    • 当指定的键不存在时,dict.setdefault()方法可以通过增加键值对来更新字典,而dict.get()方法不行

    实例:

    dict.get(key, default=None)

    >>>dict_1 = {'Name': 'Jack'}   
    >>>dict_1.get('Age')          #默认default为None,即不返回值
    >>>dict_1.get('Age', 'NA')           #当指定的键不存在时,返回default的值'NA'
    'NA'
    >>>dict_1.get('Name': 'Tom')         #当指定的键存在时,即使设置default的值,返回的也是指定键的值'Jack'
    'Jack'
    >>>dict_1
    {'Name': 'Jack'}                     #dict_1中的键值对没有改变

    dict.setdefault(key, default=None)

    >>>dict_1 = {'Name': 'Jack'}  
    >>>dict_1.setdefault('Age')          #默认default为None,即不返回值
    >>>dict_1                            #dict_1中已经增加'Age':None的键值对
    {'Name': 'Jack', 'Age': None}
    >>>dict_1.setdefault('Age', 23)      #当指定的键存在时,即使设置default的值,返回的也是指定键的值None,即不返回值
    >>>dict_1
    {'Name': 'Jack', 'Age': None}
  • 相关阅读:
    Selenium+PhantomJS实现简易有道翻译爬虫
    Scrapy框架实战-妹子图爬虫
    拉勾网职位信息爬取
    Docker Compose容器编排
    Ansible进阶--playbook的使用
    etcd集群部署
    使用Dockerfile构建镜像
    Docker网络管理
    Docker数据管理
    Dubbo高性能网关--Flurry介绍
  • 原文地址:https://www.cnblogs.com/my_captain/p/8848083.html
Copyright © 2011-2022 走看看