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‘
>>>d
{‘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}

原文地址:https://www.cnblogs.com/cnhkzyy/p/8848083.html

时间: 2024-11-08 21:17:37

python字典中dict.get()和dict.setdefault()的异同点的相关文章

十四、python字典中的方法汇总

'''1.访问.修改,删除字典中的值:''' dict={'a':'11','b':'22','c':'33','d':'44'}print dict['a'],dict['d'] #访问dict['b']='abc' #修改print dict#删除del dict['c'] #删除字典中的某个值print dictdict.clear() #清空字典print dictdel dict #删除字典--------------------------------------------- 11

python字典中键值对的值为中文,打印成转义字符,怎么解决

今天是2019-10-02,学习代码第二天. python字典中键值对中有中文,打印的时候,发现成转义字符了.查了好久,解决.记录一下.useful. 今日份代码: 1 #!/usr/bin/python 2 # -*- coding:utf-8 -*- 3 # 字典和列表的区别 4 # 列表是有序的对象集合,字典是无序的对象集合 5 # 字典的特点,字典用{}定义,使用键值对存储数据,键值对间用,分开 6 # 键--key,索引 值--value,数据 键和值间用:分开 键--唯一的,只能取字

判断python字典中key是否存在的两种方法

今天来说一下如何判断字典中是否存在某个key,一般有两种通用做法,下面为大家来分别讲解一下: 第一种方法:使用自带函数实现. 在python的字典的属性方法里面有一个has_key()方法,这个方法使用起来非常简单. 例: 1 2 3 4 5 #生成一个字典 d = {'name':{},'age':{},'sex':{}} #打印返回值 print d.has_key('name') #结果返回True 第二种方法:使用in方法 1 2 3 4 5 #生成一个字典 d = {'name':{}

Python 字典中一键对应多个值

#字典的一键多值 print'方案一 list作为dict的值 值允许重复' d1={} key=1 value=2 d1.setdefault(key,[]).append(value) value=2 d1.setdefault(key,[]).append(value) print d1 #获取值 print '方案一 获取值' print list(d1[key]) print '方案一 删除值,会留下一个空列表' d1[key].remove(value) d1[key].remove

python字典中显示中文

#coding=utf-8import jsondict={'title':"这是中文"}print json.dumps(dict,ensure_ascii=False,encoding="utf-8") books=[ {'name':u'C#从入门到精通','price':23.7,'store':u'卓越'}, {'name':u'C#从入门到精通二','price':44.5,'store':u'当当'}, {'name':u'C#从入门到精通三','pr

【python-字典】判断python字典中key是否存在的

一般有两种通用做法: 第一种方法:使用自带函数实现: 在python的字典的属性方法里面有一个has_key()方法: [python] view plain copy #生成一个字典 d = {'name':Tom, 'age':10, 'Tel':110} #打印返回值 print d.has_key('name') #结果返回True 第二种方法:使用in方法: [python] view plain copy #生成一个字典 d = {'name':Tom, 'age':10, 'Tel

Python字典中的值为列表或字典的构造方法

1.值为列表的构造方法 dic = {} dic.setdefault(key,[]).append(value) *********示例如下****** >>dic.setdefault('a',[]).append(1) >>dic.setdefault('a',[]).append(2) >>dic >>{'a': [1, 2]} 2.值为字典的构造方法 dic = {} dic.setdefault(key,{})[value] =1 *******

Python 字典(dict)中元素的访问

访问python字典中元素的几种方式 一:通过“键值对”(key-value)访问: print(dict[key]) dict = {1: 1, 2: 'aa', 'D': 'ee', 'Ty': 45} print(dict['D']) 输出: ee dict.get(key,[default]) :default为可选项,用于指定当‘键’不存在时 返回一个默认值,如果省略,默认返回None dict = {1: 1, 2: 'aa', 'D': 'ee', 'Ty': 45} print(

python字典的常用操作方法

Python字典是另一种可变容器模型(无序),且可存储任意类型对象,如字符串.数字.元组等其他容器模型.本文章主要介绍Python中字典(Dict)的详解操作方法,包含创建.访问.删除.其它操作等,需要的朋友可以参考下. 字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: 1.创建字典 1 >>> dict = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'} 2 技巧: 3 字典中包含列表:dict={'yangr