Python函数setdefault()

Python函数setdefault()描述 Python 字典 setdefault 函数和 get 方法类似 如果键不存在于字典中 将会添加键并将值设为默认值 注意 setdefault 返回的键如果不在字典中 会添加键 更新字典 语法 dict setdefault key default None 参数 key 这是要搜索的键 default 这是在没有找到键的情况下则返回此值 返回值此方法返回字典中可用的

描述:

Python 字典 setdefault() 函数和get() 方法类似, 如果键不存在于字典中,将会添加键并将值设为默认值。

注意:setdefault() 返回的键如果不在字典中,会添加键(更新字典)

语法:

dict.setdefault(key,default = None)

参数
key – 这是要搜索的键。
default – 这是在没有找到键的情况下则返回此值。
返回值



此方法返回字典中可用的键值,如果给定键不可用,则返回提供的默认值。

案例:

>>>dict ={‘name’:’小明’,’sex’:’男’}

>>> print “Value :%s” % dict.setdefault(‘name’,’无’) #存在键name

Value :小明

>>> print “Value :%s” % dict.setdefault(‘age’,’0′)#不存在键age

Value :0

>>> dict

{‘age’: ‘0’, ‘name’: ‘\xd0\xa1\xc3\xf7’, ‘sex’: ‘\xc4\xd0’}#age加了进去,字典是无序的。

实例:

需求:通过过滤条件查数据库,查出来了部分字段的值,放入一个字典,这个字典的key为student_id,将这些值放入一个新的字典,key相同,没有的字段赋值默认值,

一共有下面这么多字段,

[‘status’,’thirty_minute_time’,’five_minute_time’,’first_attend_time’]

res_dict为查出来的数据,是一个字典,key为student_id

举个例子,比如res_dict={”:{‘status’:3}}

final_dict={}

for key in res_dict:
            final_dict.setdefault(key,{‘status’:-1,’thirty_minute_time’:-1,’five_minute_time’:-1,’first_attend_time’:-1})
            if ‘status’ in res_dict[key]:
                final_all_dict[key][‘status’]=res_dict[key][‘status’]
            if ‘thirty_minute_time’ in res_dict[key]:
                final_all_dict[key][‘thirty_minute_time’]=res_dict[key][‘thirty_minute_time’]
            if ‘five_minute_time’ in res_dict[key]:
                final_all_dict[key][‘five_minute_time’]=res_dict[key][‘five_minute_time’]
            if ‘first_attend_time‘ in res_dict[key]:
                final_all_dict[key][‘first_attend_time‘]=res_dict[key][‘first_attend_time‘]









 处理之后 

final_dict={”:{‘status’:3,’thirty_minute_time‘:-1,’fiva_minute_time’:-1,’first_attend_time’:-1}} 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/211349.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午10:38
下一篇 2026年3月18日 下午10:38


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号