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}
  • 相关阅读:
    硬件调试软件
    ICMP(Internet Control Message Protocol)
    算法网站
    下载安装
    netcat 实现端口转发
    mqtt 连接工具
    Linux(CentOS7)安装zip、unzip命令
    awk 两个字符串互换位置
    创建一个swift项目
    屏幕录制
  • 原文地址:https://www.cnblogs.com/my_captain/p/8848083.html
Copyright © 2011-2022 走看看