Python字典的用法(定义、增加、删除、修改、查询、遍历)

一.字典的介绍

        dictionary(字典)是除了列表以外的 Python 中最灵活的数据类型。dict(字典)可以采用多个数据,通常用于存储描述一个物体的相关信息。

        字典和列表最主要的区别是,字典是无序的对象集合,列表是有序的对象集合。

1.1 字典的语法规则

        字典用大括号“{ }”定义,列表用中括号“[ ]”定义,元组用小括号定义“()”。

        字典使用键值对存储数据,键值对之间使用逗号 “,”分隔。

  • 键 key 是索引,键必须是唯一的。键只能使用字符串,数字或元组,因为他们共性是不可变。
  • 值 value 是数据,值可以取任何数据类型。
  • 键 和 值之间使用冒号“:”分隔。

1.2 字典的书写形式

# 字典的常规写法
id_lmh = {"name":"lmh","age":22,"gender":"男","height":"172cm"
}# 定义空字典
# 第二个是通过类型转换的方法
dict1 = {}
dict2 = dict()# 显示为一行
id_one = { "name":"one","age":18}

          字典的键值对中的键写两次的话不会报错,会进行覆盖。如果多次的话以最后一次为主。

# 设置字典键重复
dict1 = {"name": "L","name": "M","name": "H"
}
print(dict1)"""
运行结果:
{'name': 'H'}
"""

二. 对字典进行修改

2.1 新增键值对

        如果字典中存在对应的键值对会进行修改,不存在则会进行新增。

# 设置默认字典
id_lmh = {"id":"0","name": "L",
}
id_lmh["age"] = 18print(id_lmh)"""
运行结果:
{'id': '0', 'name': 'L', 'age': 18}
"""

2.2 获取字典中的值。

        在字典中可以通过键值对获取对应的值。

# 设置默认字典
id_lmh = {"id":"0","name": "L",
}
print(id_lmh["name"])"""
运行结果:
L
"""

2.3 删除字典

        可以通过 del 函数删除字典,删除之后再引用会报错。

# 设置默认字典
id_lmh = {"id":"0","name": "L",
}del id_lmhprint(id_lmh["name"])"""
运行结果:
NameError: name 'id_lmh' is not defined
"""

2.4 键值对的存在

         键值对的存在问题只能按断键是否存在,不能够判断值是否存在。

# 设置默认字典
id_lmh = {"id":"0","name": "L",
}print("id" in id_lmh)
print("age" in id_lmh)
"""
运行结果:
True
False
"""

三. 字典的遍历

3.1 字典的普通遍历

         使用for...in...循环进行遍历。

# 设置默认字典
id_lmh = {"id":"0","name": "L",
}for i in id_lmh:print(i,id_lmh[i])"""
运行结果:
id 0
name L
"""

3.2字典的方法遍历

        方法 items 是将字典转为列表从而进行遍历。

# 设置默认字典
id_lmh = {"id":"0","name": "L",
}for key,value in id_lmh.items():print(key,value)"""
运行结果:
id 0
name L
"""

3.3 字典的方法遍历key

# 设置默认字典
id_lmh = {"id":"0","name": "L",
}for key in id_lmh.keys():print(key)"""
运行结果:
id 
name 
"""

3.4 字典的方法遍历value

# 设置默认字典
id_lmh = {"id":"0","name": "L",
}for value in id_lmh.values():print(value)"""
运行结果:
0
L
"""

3.5 pop删除方法

        pop方法中输入的是键。

# 设置默认字典
id_lmh = {"id":"0","name": "L",
}
id_lmh.pop("id")
print(id_lmh)"""
运行结果:
{'name': 'L'}
"""

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

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

相关文章

多视图几何中向量叉乘的矩阵转换 Matrix Transformation for Cross Product in MVG

Title: 多视图几何中向量叉乘的矩阵转换 Matrix Transformation for Cross Product in MVG 文章目录 I. 向量叉乘的矩阵转换恒等式II. 符号计算 Maxima 程序推导III. 推论和关联公式的说明1. 推论2. 应用于对极几何中基本矩阵推导3. 应用于基本矩阵与单应矩阵关系4. 与刚体运动…

支持多种快充协议的取电芯片,支持最大功率140W

前言 在快节奏的现代生活中,人们对于小家电的依赖日益加深,而随之而来的充电问题也日益凸显。传统的充电方式往往受限于电压、电流的限制,难以满足不同设备对电力的多样化需求。而PD快充协议的诞生,则为这一难题提供了全新的解决…

分页查询功能

EmployeeController /** * 员工分页查询 * * param employeePageQueryDTO * return */ GetMapping("/page") ApiOperation("员工分页查询") public Result<PageResult> page(EmployeePageQueryDTO employeePageQueryDTO) { log.info("…

深度学习读书笔记 绪论

深度学习是什么&#xff1f; 机器学习的分支。 深度学习问题也是指从有限样例中总结出一般的规律&#xff0c;应用在新的未知数据上的方法。 机器学习的三个基本要素 模型 机器学习任务首要弄明白的&#xff0c;也就是一个机器学习任务所面对的输入空间和输出空间。 输入…

“移门缓冲支架:为家庭安全加码”

在智能家居日益普及的今天&#xff0c;科技不仅改变了我们的生活方式&#xff0c;也提升了家居的安全。移门缓冲支架作为一项结合了现代技术的小型装置&#xff0c;正逐渐成为提升家庭安全的重要配件。它通过吸收门关闭时的冲击力、减缓关门速度以及减少噪音等多重功能&#xf…

npm error code ETIMEDOUT 简单排查

今天突然没到一个仓库的ius问题。改完之后想发布npm包 出现下面的场景 npm addUser npm adduser npm notice Log in on https://registry.npmjs.org/ Create your account at: https://www.npmjs.com/login?next/login/cli/12596c8b-ba4a-4763-8a97-215087d380c4 Press ENTER…

力扣96:不同的二叉搜索树

给你一个整数 n &#xff0c;求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种&#xff1f;返回满足题意的二叉搜索树的种数。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;5示例 2&#xff1a; 输入&#xff1a;n 1 输出&#xff1a;1 卡…

小程序-基于java+SpringBoot+Vue的微信小程序养老院系统设计与实现

项目运行 1.运行环境&#xff1a;最好是java jdk 1.8&#xff0c;我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境&#xff1a;IDEA&#xff0c;Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境&#xff1a;Tomcat 7.x,8.x,9.x版本均可 4.硬件环境&#xff1a…

Torchtune在AMD GPU上的使用指南:利用多GPU能力进行LLM微调与扩展

Torchtune on AMD GPUs How-To Guide: Fine-tuning and Scaling LLMs with Multi-GPU Power — ROCm Blogs 这篇博客提供了一份详细的使用Torchtune在AMD GPU上微调和扩展大型语言模型&#xff08;LLM&#xff09;的指南。Torchtune 是一个PyTorch库&#xff0c;旨在让您轻松地…

计算机网络--网络安全测试

问题 1 以下关于网络安全威胁发展的趋势的描述中错误的是___A_____。 答案&#xff1a; A云计算可以有效地防止网络攻击发生 B网络攻击、病毒与垃圾邮件是网络安全的三大公害 C网络攻击开始演变成某些国家或利益集团重要的政治、军事工具 D趋利性是当前网络攻击的主要特点 …

Java使用replaceAll替换时不使用正则表达式

前言 public String replaceAll(String regex, String replacement) {return Pattern.compile(regex).matcher(this).replaceAll(replacement);}在使用String.replaceAll() 方法时&#xff0c;由于入参时regex &#xff0c;而入参刚好是正则表达式的字符该怎么办&#xff1f;我…

【0346】Postgres内核 Startup Process 通过 signal 与 postmaster 交互实现 (5)

1. Startup Process 进程 postmaster 初始化过程中, 在进入 ServerLoop() 函数之前,会先通过调用 StartChildProcess() 函数来开启辅助进程,这些进程的目的主要用来完成数据库的 XLOG 相关处理。 如: 核实 pg_wal 和 pg_wal/archive_status 文件是否存在Postgres先前是否发…

STM32C011开发(3)----Flash操作

STM32C011开发----3.Flash操作 概述硬件准备视频教学样品申请源码下载参考程序生成STM32CUBEMX串口配置堆栈设置串口重定向FLASH数据初始化FLASH 读写演示 概述 STM32C011 系列微控制器内置 Flash 存储器&#xff0c;支持程序存储与数据保存&#xff0c;具备页面擦除、双字写入…

电商项目高级篇06-缓存

电商项目高级篇06-缓存 1、docker下启动redis2、项目整合redis3、redis改造三级分类业务 缓存 流程图&#xff1a; data cache.load(id);//从缓存加载数据 If(data null){ data db.load(id);//从数据库加载数据 cache.put(id,data);//保存到 cache 中 } return data;在我们…

TypeScript 命名空间与模块

在 TypeScript 中&#xff0c;命名空间和模块是两种不同的代码组织方式&#xff0c;它们都旨在帮助你管理和维护大型代码库。命名空间提供了一种将相关功能组织在一起的方式&#xff0c;而模块则允许你将代码分解成可重用的单元。在本文中&#xff0c;我们将探讨命名空间和模块…

Vue 原理详解

Vue 原理详解 Vue.js 是一个渐进式框架&#xff0c;它通过数据驱动视图更新和响应式编程使得前端开发变得更加简单高效。在 Vue 的内部实现中&#xff0c;编译过程和响应式机制是两个至关重要的组成部分。本文将详细介绍 Vue.js 的编译器、响应式系统和运行时的工作原理&#…

PS的功能学习

背景差色较大&#xff0c;就魔棒 魔棒的连续就是倒水点的跨越问题 魔棒的容差的选择就有点看经验了&#xff0c;看颜色的统一程度选择 Ctrl D 取消当前所有的选区 至于快速选择工具&#xff0c;和对象选择工具也差不多&#xff0c;只不过控制范围变成了一块一块的&#x…

深度学习实验--初步探索数据增强、优化器对模型的影响

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 前言 这次主要是探究&#xff0c;优化器、数据增强对模型训练的影响&#xff1b;基础篇还剩下几个, 后面的难度会逐步提升;越学&#xff0c;越觉得这个东西很…

新型大语言模型的预训练与后训练范式,谷歌的Gemma 2语言模型

前言&#xff1a;大型语言模型&#xff08;LLMs&#xff09;的发展历程可以说是非常长&#xff0c;从早期的GPT模型一路走到了今天这些复杂的、公开权重的大型语言模型。最初&#xff0c;LLM的训练过程只关注预训练&#xff0c;但后来逐步扩展到了包括预训练和后训练在内的完整…

Linux:systemd进程管理【1】

整体理解 要快速掌握Linux的systemd并覆盖80%的使用场景&#xff0c;以下是最重要的20%知识点&#xff1a; Systemd简介与核心功能&#xff1a; Systemd是一个系统和服务管理器&#xff0c;作为Linux系统的PID 1进程&#xff0c;负责启动和管理其他系统组件。它提供并行启动服…