定义
1.字典的setdefault() 方法和 get()方法类似,返回指定键的值,如果键不在字典中,将会添加键值对,值默认为None。
2.setdefault()与get()区别:
setdefault() 返回的键如果不在字典中,会添加键(更新字典),而 get() 不会添加键。
语法
https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注!
欢迎关注微信公众号:宝藏女孩的成长日记
让这个可爱的宝藏女孩在努力的道路上与你一起同行!
如有转载,请注明出处(如不注明,盗者必究)
dict.setdefault(key, default=None)
代码实现
#coding=utf-8# setdefault()的语法
# dict.setdefault(key, default=None)
# key :查找的键值
# default :若键不存在,设置的默认键值
# 若查找的key在字典中,则返回相应的值,不在就返回default,default默认值为None
# 特性:保护了字典原来数据的情况下进行赋值d1 = {"Name": "Jay", "Age": 41}
# 当查找的键值 key存在的时候,新的数据将不会被更新到原字典中,这样就保护了原字典的数据不受改变
print("Name 键的值为 :",d1.setdefault("Name","JJ"))
print("Age 键的值为 :",d1.setdefault("Age", None))# 当查找的键值 key不存在的时候,setdefault()函数会返回默认值并更新字典,添加键值对
print("Sex 键的值为 :",d1.setdefault("Sex", "男"))
print("新字典为:", d1)print("❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤")# 扩展:
# 要是我们想要改变原字典的值该怎么办呢?
# 字典直接赋值(单个)
d1["Name"]="周杰伦"
print("改名字后的新字典为:",d1)# 字典批量更新
d2 = {"性别": "男", "职业": "导演"}
d1.update(d2)
print("d1字典进行批量操作后为",d1)# 注意:使用update批量更新时,若key相等,则值会改变
d2 = {"Name": "花菜", "Age": "一个月"}
d1.update(d2)
print("d1字典进行批量操作后为",d1)print("❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤")# setdefault()与get()区别
# setdefault()找不到key,就返回默认值None并更新字典,添加键值
# get只返回默认值,而不会改变原字典
a = {}
x = a.setdefault("姓名")
print(x)
print(a)x1 = a.get("姓别")
print(x1)
print(a)print("❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤")# 找到key,就返回对应的值
b = {"姓名":"甜甜"}
x2 = b.setdefault("姓名")
print("x2的值为",x2)
print("字典b为",b)
运行结果
https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注!
欢迎关注微信公众号:宝藏女孩的成长日记
让这个可爱的宝藏女孩在努力的道路上与你一起同行!
如有转载,请注明出处(如不注明,盗者必究)