python数据类型-字典

1 字典定义

1)字典中的元素时一个个键值对,键和值之间用冒号:分隔,键值对元素之间用逗号分隔,格式:d = {key1 : value1, key2 : value2 }
2)字典中的键是唯一的,值可以重复
注**:键不可变,因此键可以是数字、字符串或元素,但不能为列表**

2 字典的创建方式

1)通过在{}放键值对
2) 通过dict函数,入参为list,如下代码dic2
3)通过dict函数,入参为多个键值对参数,如下代码 dic3
4)通过两个list,如dic4
5)其它方式
6)空字典:dict() 或者 {}

dic1 = {'Author': 'Python当打之年', 'age': 99, 'sex': '男'}lst = [('Author', 'Python当打之年'), ('age', 99), ('sex', '男')]
dic2 = dict(lst)
print(type(dic2))  # <class 'dict'>dic3 = dict(Author='Python当打之年', age=99, sex='男')
print(type(dic3), dic3)  # <class 'dict'> {'Author': 'Python当打之年', 'age': 99, 'sex': '男'}# 方法4
list1 = ['Author', 'age', 'sex']
list2 = ['Python当打之年', 99, '男']
dic4 = dict(zip(list1, list2))
print(type(dic4), dic4)  # <class 'dict'> {'Author': 'Python当打之年', 'age': 99, 'sex': '男'}

3 字典增、删、改、查


dict11 = {'name': 'tom', 'age': 25, 'address': '不详'}
dict22 = {'sex': '男'}
# 添加元素,如果update中添加的键已经存在则修改原有的值
dict11.update(dict22)
print(dict11)  # {'name': 'tom', 'age': 25, 'address': '不详', 'sex': '男'}# 删除
del dict11['name']
print(dict11)  # {'age': 25, 'address': '不详', 'sex': '男'}
tem_name = dict11.pop('name')  # 使用pop指定键删除,并返回被删除键对应的值
dict11.clear()  # 清空字典# 修改
dict11['name'] = 'henry'
print(dict11)  # {'name': 'henry', 'age': 25, 'address': '不详', 'sex': '男'}
dict11.update({'name': 'sam'})
print(dict11)  # {'name': 'sam', 'age': 25, 'address': '不详', 'sex': '男'}
dict11.update(dict(name='小狗'))
print(dict11)  # {'name': '小狗', 'age': 25, 'address': '不详', 'sex': '男'}# 查
# 简单访问
name = dict11['name']
print(name)  # tom
print(dict11.get('address'))  # 不详
print(type(dict11.keys()), dict11.keys())  # <class 'dict_keys'> dict_keys(['name', 'age', 'address', 'sex'])
print(dict11.items())  # dict_items([('name', 'tom'), ('age', 25), ('address', '不详'), ('sex', '男')])

# 遍历访问# 使用for循环对字典进行遍历,默认获取的是字典的每一个键
for i in dict11:print(i)# 获取的是字典的每一个键
for i in dict11.keys():print(i)# 获取的是字典的每一个值
for i in dict11.values():print(i)# 获取的是字典中每一个键值对组成的元组
for i in dict11.items():print(i)# 分别拿到字典的键和值
for i in dict11:print(i, dict11[i])for key, value in dict11.items():print(key, value)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/692114.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java 中是否存在内存溢出、内存泄漏?如何解决?举例说明(企业真题)

Java 中是否存在内存溢出、内存泄漏&#xff1f;如何解决&#xff1f;举例说明 解答&#xff1a; 存在&#xff01; 在程序执行的过程中&#xff0c;明明这是不再使用的内存空间了&#xff0c;但是jvm通过相关的算法判定以后不认为这是垃圾&#xff0c;那么就构成了内存泄漏…

相机图像质量研究(40)常见问题总结:显示器对成像的影响--画面泛白

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结&#xff1a;光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结&#xff1a;光学结构对成…

阿里云幻兽帕鲁Windows 服务器怎么下载存档?

阿里云幻兽帕鲁Windows 服务器怎么下载存档&#xff1f;通过远程连接window服务器桌面的方式。 远程连接到阿里云的 Windows 服务器后&#xff0c;可以将压缩后的存档文件&#xff0c;拖动到 workbench\Download 目录后&#xff0c;就会触发浏览器的文件下载&#xff0c;然后将…

CSP-J 2023 复赛第2题:公路 ← 贪心算法

【题目来源】https://www.luogu.com.cn/problem/P9749https://www.acwing.com/problem/content/5311/【题目描述】 小苞准备开着车沿着公路自驾。 公路上一共有 n 个站点&#xff0c;编号为从 1 到 n。 其中站点 i 与站点 i1 的距离为 vi 公里。 公路上每个站点都可以加油&…

[职场] 预算员简历模板 #媒体#微信#笔记

预算员简历模板 个人简历 基本资料 姓名&#xff1a;蓝小小 性别&#xff1a;男 年龄&#xff1a;28岁 籍贯&#xff1a;重庆 现居地址&#xff1a;重庆渝中区 政治面貌&#xff1a;中共党员 婚姻状况&#xff1a;已婚 求职意向 意向岗位&#xff1a;预算员 期望薪…

notepad++的下载与使用

1.进入官网下载 https://notepad-plus-plus.org/ 点击下载即可 2.选择中文简体 3.建议安装在D盘 其余步骤按照指示就行 4.安装后这几个是必选的 设置完成后就可以写中文了 以此为例 结果为

mysql mgr集群部署

一、前言 mysql mgr集群是为了实现mysql高可用&#xff0c;分为单主集群和多主集群&#xff0c;单主集群只有一个主节点可写&#xff0c;节点发生故障时&#xff0c;自动进行主从的故障切换&#xff0c;多主集群所有节点都可写&#xff0c;当节点发生故障时&#xff0c;将故障节…

git操作---> 使用git push,和使用git push origin HEAD:[分支名]有什么区别呢?

git push origin HEAD:branch2: 这个命令显式地指定了你要推送的本地引用&#xff08;HEAD&#xff09;&#xff0c;以及远程仓库的目标引用&#xff08;origin/branch2&#xff09;。 HEAD 是一个引用&#xff0c;指向你当前所在的本地分支的最新提交。 这个命令的意图是将当…

如何在iStoreOS软路由系统中安装cpolar实现公网远程本地电脑桌面

文章目录 简介一、配置远程桌面公网地址二、家中使用永久固定地址 访问公司电脑**具体操作方法是&#xff1a;** 简介 软路由是PC的硬件加上路由系统来实现路由器的功能&#xff0c;也可以说是使用软件达成路由功能的路由器。 使用软路由控制局域网内计算机的好处&#xff1a…

流量控制 可靠传输 滑动窗口之间的关系 以及 流量控制和可靠传输的关系

流量控制 可靠传输 滑动窗口之间的关系 流量控制、可靠传输和滑动窗口是网络通信中的三个重要概念&#xff0c;它们之间有密切的关系。 流量控制是指在数据传输过程中控制发送方发送数据的速率&#xff0c;以避免接收方无法及时处理大量数据而导致的数据丢失或拥塞。流量控制…

Python算法100例-1.8 冒泡排序

完整源代码项目地址&#xff0c;关注博主私信’源代码’后可获取 1.问题描述2.问题分析3.算法设计4.完整的程序5.问题拓展 1&#xff0e;问题描述 对N个整数&#xff08;数据由键盘输入&#xff09;进行升序排列。 2&#xff0e;问题分析 对于N个类型相同的数&#xff0c;…

【Node.js】path 模块进行路径处理

Node.js 执行 JS 代码时&#xff0c;代码中的路径都是以终端所在文件夹出发查找相对路径&#xff0c;而不是以我们认为的从代码本身出发&#xff0c;会遇到问题&#xff0c;所以在 Node.js 要执行的代码中&#xff0c;访问其他文件&#xff0c;建议使用绝对路径 实例&#xff1…

040 构造器详解

无参构造器 当一个类未定义任何构造器时&#xff0c;代码编译后会自动生成一个无参构造器&#xff0c;如果只需要无参构造器就可以直接省略定义。 public class Person {public Person(){}String name;int age; }public class Person {String name;int age; }有参构造器 有参…

自定义表单工作流的优势特点有啥?

低代码技术平台是提升办公效率的得力武器&#xff0c;在当今竞争激烈的社会中获得了很多中小企业的喜爱与支持。流辰信息是一家专业研发低代码技术平台的服务商&#xff0c;IBPS开发平台用于很多行业中&#xff0c;助力企业实现了办公流程化。自定义表单工作流的优势多、简单灵…

洛谷 P1094 [NOIP2007 普及组] 纪念品分组(贪心)

[NOIP2007 普及组] 纪念品分组 题目背景 NOIP2007 普及组 T2 题目描述 元旦快到了&#xff0c;校学生会让乐乐负责新年晚会的纪念品发放工作。为使得参加晚会的同学所获得 的纪念品价值相对均衡&#xff0c;他要把购来的纪念品根据价格进行分组&#xff0c;但每组最多只能包…

RSA之前端加密后端解密

RSA之前端加密后端解密 RSA加密解密方式有&#xff1a; &#xff08;1&#xff09;公钥加密&#xff0c;私钥解密&#xff1b; &#xff08;2&#xff09;私钥加密&#xff0c;公钥解密&#xff1b; 此文章中以下我使用的是前端公钥加密&#xff0c;后端私钥解密&#xff1b; …

【点云配准】【深度学习】Windows11下PCRNet代码Pytorch实现与源码讲解

【点云配准】【深度学习】Windows11下PCRNet代码Pytorch实现与源码讲解 提示:最近开始在【点云配准】方面进行研究,记录相关知识点,分享学习中遇到的问题已经解决的方法。 文章目录 【点云配准】【深度学习】Windows11下PCRNet代码Pytorch实现与源码讲解前言PCRNet模型运行环境…

Spring: MultipartFile和File的区别

文章目录 一、MultipartFile和File对比1、 MultipartFile&#xff1a;2、File&#xff1a; 一、MultipartFile和File对比 MultipartFile 和 File 是用于处理文件上传的两种不同类型&#xff0c;主要在不同的编程环墨境中使用。 1、 MultipartFile&#xff1a; - MultipartFi…

Linux内核解读

来自鹅厂架构师 作者&#xff1a;aurelianliu 工作过程中遇到的调度、内存、文件、网络等可以参考。 1.os运行态 X86架构&#xff0c;用户态运行在ring3&#xff0c;内核态运行在ring0&#xff0c;两个特权等级。 &#xff08;1&#xff09;内核、一些特权指令&#xff0c;例…

Golang 并发 Channel的用法

目录 Golang 并发 Channel的用法channel 的创建nil channel读写阻塞示例close示例 channel 的读写channel 只读只写关闭channelchannel关闭后&#xff0c;剩余的数据能否取到读取关闭的channel&#xff0c;将获取零值使用ok判断&#xff0c;是否关闭使用for-range退出使用close…