python基础(5)字典「建议收藏」

python基础(5)字典「建议收藏」字典字典的key和value一一对应的,字典是可变的,也是有序的(python3.6版本开始字典有序),可迭代的增加元素当key不存在时,直接赋值a={"status"

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

字典

字典的key和value一一对应的,字典是可变的,也是有序的(python3.6版本开始字典有序),可迭代的
 

增加元素

当key不存在时,直接赋值

a = {"status": 200}
a["message"] = "成功"
print(a)
>>> {'status': 200, 'message': '成功'}

 

删除元素

del 字典名[key]

a = {"status": 200, "message": "成功"}
del a["status"]
print(a)
>>> {'message': '成功'}

 

查看元素

当key存在时,字典[key]

a = {"status": 200, "message": "成功"}
print(a["status"])
>>> 200

 

get(key[, default])

a = {"status": 200, "message": "成功"}
print(a.get("status"))
>>> 200

 

字典的3个方法:keys、values、items

a = {"status": 200, "message": "成功"}
print(a.keys())
print(a.values())
print(a.items())
>>> dict_keys(['status', 'message'])
        dict_values([200, '成功'])
        dict_items([('status', 200), ('message', '成功')])

# 直接获取字典中的key和value可以使用以下方法
a = {"status": 200, "message": "成功"}
for key, value in a.items():
    print(key, value)
>>> status 200
        message 成功

 

zip函数

zip()函数将两个可迭代对象打包成元组

print(dict(zip([101, 102, 103], ['张三', '李四', '王五'])))
>>> {101: '张三', 102: '李四', 103: '王五'}

 

字典推导式

a = {"status": 200, "message": "成功"}
print({k: v for k, v in a.items()})
>>> {'status': 200, 'message': '成功'}

 

补充知识

字典中,setdefaultget的区别
get 和setdefault区别是在于这个key不存在然后对字典是否造成影响(是否添加新的键值对)

  • setdefault:如果key值不存在,那么会把这个键值对添加到字典中
  • get:如果key不存在,那么对dict无任何影响
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JavaScript与Java的关系(联系与区别)

    JavaScript与Java的关系(联系与区别)JavaScript和Java是两种不一样的语言,但是它们之间存在联系。背景方面Javascript(1995年,Netscape公司雇佣了程序员BrendanEich开发这种网页脚本语言)最初名字叫做Mocha,1995年9月改为LiveScript。12月,Netscape公司与Sun公司(Java语言的发明者和所有者)达成协议,后者允许将这种语言叫做JavaScript。这样一来,Netsc

    2022年7月7日
    19
  • 【2010年就业考虑】- 阿朗,华为,中兴,大唐,爱立信,诺西,鼎桥,普天思科MOTO等…

    【2010年就业考虑】- 阿朗,华为,中兴,大唐,爱立信,诺西,鼎桥,普天思科MOTO等…

    2021年8月7日
    145
  • 数据结构-顺序表基本操作的实现(含全部代码)

    数据结构-顺序表基本操作的实现(含全部代码)今天起开始编写数据结构中的各种数据结构及其算法的实现。主要依据严蔚敏版数据结构教材以及王道数据结构考研辅导书。今天是线性表中的顺序表的实现,主要实现函数如下,读者有需要可以评论,我可以适当加几个。CreatList(SqList&L,intn)参数:顺序表L,顺序表长度n功能:创建长度为的顺序表时间复杂度:O(n) InitList(SqList&…

    2022年4月28日
    61
  • zabbix监控哪些指标_zabbix监控爱快

    zabbix监控哪些指标_zabbix监控爱快前言面试中经常会被问到一些技术问题,面试官一方面是看你对于当前技术的点的掌握情况,另一方面是判断你是否在公司里干过,毕竟很多技术只要自学一下就能应付面试。今天我们来聊聊,面试中那些高频的问题,比如zabbix你都监控哪些参数。一.原理解释说到监控,在运维这个行业其实有很多开源的监控方案,目前最常见的就是zabbix+grafana,我工作那时候还是用cacti和nagios的比较多。还记得以前去面试,面试官来了一句,zabbix会搭建吗,会的话你在这搭建下,30分钟搭建出来就入职。不管

    2025年8月21日
    4
  • SpringBoot Test及注解详解

    SpringBoot Test及注解详解一、SpringBootTest介绍SpringTest与JUnit等其他测试框架结合起来,提供了便捷高效的测试手段。而SpringBootTest是在SpringTest之上的再次封装,增加了切片测试,增强了mock能力。整体上,SpringBootTest支持的测试种类,大致可以分为如下三类:单元测试:一般面向方法,编写一般业务代码时,测试成本较大。涉及到的注解有@Test。 切片测试:一般面向难于测试的边界功能,介于单元测试和功能测试之间。涉及到的注解有@RunWith

    2022年5月30日
    35
  • 来看看视频种子骗局[通俗易懂]

    来看看视频种子骗局1,都是很难下载的资源2,以1080BulRay命名3,文件大小集中在1G左右4,以xmous结尾(应该是作者为了好识别)5,都有官方宣传图片(Cover.jpg)和说明txt文件

    2022年4月17日
    41

发表回复

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

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