[Python学习篇] Python字典
字典是一种可变的、无序的键值对(key-value)集合。字典在许多编程(Java中的HashMap)任务中非常有用,因为它们允许快速查找、添加和删除元素。字典使用花括号 {} 表示。字典是可变类型。
语法:
变量 = {'key1': 'value1', 'key2': 'value2', 'keyn': 'valuen'}
# 空字典
变量 = {}
变量 = dict()
示例:
dict1 = {'name': 'Tom', 'age': 18, 'gender': '男'}
print(dict1)
插入/修改数据
语法:
字典序列[key] = value # key不存在就插入数据。key存在就修改key的value。
示例:
dict1 = {'name': 'Tom', 'age': 18, 'gender': '男'}
dict1['id'] = 1
print(dict1) # {'name': 'Tom', 'age': 18, 'gender': '男', 'id': 1}
删除数据
- del() / del:删除字典或删除字典中指定的键值对。
语法:
del 字典序列[key] # del (字典序列)
示例:
dict1 = {'name': 'Tom', 'age': 18, 'gender': '男'}
del dict1['age']
print(dict1) # 删除键值对,打印 {'name': 'Tom', 'gender': '男'}del dict1 # 删除对象
- clear():清空字典
示例:
dict1 = {'name': 'Tom', 'age': 18, 'gender': '男'}
dict1.clear()
print(dict1) # {}
查找数据
- key的方式查找:查找到数据,返回数据。没有查找到数据,报错 KeyError: 'key'
语法:
字典序列[key]
示例:
dict1 = {'name': 'Tom', 'age': 18, 'gender': '男'}
print(dict1['name']) # Tom
- get():如果当前查找的key不存在则返回第⼆个参数(默认值),如果省略第⼆个参数,则返回None。
语法:
字典序列.get(key, 默认值)
示例:
dict1 = {'name': 'Tom', 'age': 18, 'gender': '男'}
print(dict1.get('name', "Jerry")) # Tom
- keys():获取字典所有的key,返回一个列表序列。
示例:
dict1 = {'name': 'Tom', 'age': 18, 'gender': '男'}
print(dict1.keys()) # dict_keys(['name', 'age', 'gender'])
- values():获取字典所有的value,返回一个列表序列。
示例:
dict1 = {'name': 'Tom', 'age': 18, 'gender': '男'}
print(dict1.values()) # dict_values(['Tom', 18, '男'])
- items():获取字典所有的键值对。返回一个列表序列,列表中存放着键值对的元组。
示例:
dict1 = {'name': 'Tom', 'age': 18, 'gender': '男'}
print(dict1.items()) # dict_items([('name', 'Tom'), ('age', 18), ('gender', '男')])
循环遍历
- 遍历字典的key
示例:
dict1 = {'name': 'Tom', 'age': 18, 'gender': '男'}
for key in dict1.keys():print(key)

- 遍历字典的value
示例:
dict1 = {'name': 'Tom', 'age': 18, 'gender': '男'}
for value in dict1.values():print(value)

- 遍历字典的元素
示例:
dict1 = {'name': 'Tom', 'age': 18, 'gender': '男'}
for item in dict1.items():print(item)

- 遍历字典的键值对
示例:
dict1 = {'name': 'Tom', 'age': 18, 'gender': '男'}
for key, value in dict1.items():print(f'key: {key}, value: {value}')

相关文章:
[Python学习篇] Python字典
字典是一种可变的、无序的键值对(key-value)集合。字典在许多编程(Java中的HashMap)任务中非常有用,因为它们允许快速查找、添加和删除元素。字典使用花括号 {} 表示。字典是可变类型。 语法: 变量 {key1…...
react项目中如何书写css
一:问题: 在 vue 项目中,我们书写css的方式很简单,就是在 .vue文件中写style标签,然后加上scope属性,就可以隔离当前组件的样式,但是在react中,是没有这个东西的,如果直…...
PostgreSQL源码分析——绑定变量
这里分析一下函数中应用绑定变量的问题,但实际应用场景中,不推荐这么使用。 prepare divplan2(int,int) as select div($1,$2); execute divplan2(4,2);语法解析 分别分析prepare语句以及execute语句。 gram.y中定义 /******************************…...
Zynq学习笔记--了解中断配置方式
目录 1. 简介 2. 工程与代码解析 2.1 Vivado 工程 2.2 Vitis 裸机代码 2.3 关键代码解析 3. 总结 1. 简介 Zynq 中的中断可以分为以下几种类型: 软件中断(Software Generated Interrupt, SGI):由软件触发,通常…...
吴恩达机器学习 第二课 week2 多分类问题
目录 01 学习目标 02 实现工具 03 概念与原理 04 应用示例 05 总结 01 学习目标 (1)理解二分类与多分类的原理区别 (2)掌握简单多分类问题的神经网络实现方法 (3)理解多分类问题算法中的激活函数与损失…...
112、路径总和
给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。 叶子节点 是指没有子节点…...
Vue 封装组件之Input框
封装Input组件:MyInput.vue <template><div class"base-input-wraper"><el-inputv-bind"$attrs"v-on"$listeners"class"e-input":style"inputStyle":value"value":size"size"input&quo…...
一段代码让你了解Java中的抽象
我们先来看一道题! 计算几何对象的面积之和)编写一个方法,该方法用于计算数组中所有几何对象的面积之和。该方法的签名是: public static double sumArea(GeometricObject[] a) 编写一个测试程序,该程序创建一个包含四…...
Sping源码(九)—— Bean的初始化(非懒加载)— Bean的创建方式(factoryMethod)
序言 前面文章介绍了在Spring中多种创建Bean实例的方式,包括采用FactoryBean的方式创建对象、使用反射创建对象、自定义BeanFactoryPostProcessor。 这篇文章继续介绍Spring中创建Bean的形式之一——factoryMethod。方法用的不多,感兴趣可以当扩展了解。…...
绝对全网首发,利用Disruptor EventHandler实现在多线程下顺序执行任务
disruptor有两种任务处理器,一个是EventHandler ,另一个是WorkHandler. EventHandler可以彼此独立消费同一个队列中的任务,WorkHandler可以共同竞争消费同一个队列中的任务。也就是说,假设任务队列中有a、b、c、d三个事件,eventHa…...
单例设计模式双重检查的作用
先看双重校验锁的写法 public class Singleton {/*volatile 修饰,singleton new Singleton() 可以拆解为3步:1、分配对象内存(给singleton分配内存)2、调用构造器方法,执行初始化(调用 Singleton 的构造函数来初始化成员变量&am…...
NGINX_十二 nginx 地址重写 rewrite
十二 nginx 地址重写 rewrite 1 什么是Rewrite Rewrite对称URL Rewrite,即URL重写,就是把传入Web的请求重定向到其他URL的过程。URL Rewrite最常见的应用是URL伪静态化,是将动态页面显示为静态页面方式的一种技术。比如 http://www.123.com…...
react用ECharts实现组织架构图
找到ECharts中路径图。 然后开始爆改。 <div id{org- name} style{{ width: 100%, height: 650, display: flex, justifyContent: center }}></div> // data的数据格式 interface ChartData {name: string;value: number;children: ChartData[]; } const treeDep…...
坚持刷题|合并有序链表
文章目录 题目思考代码实现迭代递归 扩展实现k个有序链表合并方法一方法二 PriorityQueue基本操作Java示例注意事项 Hello,大家好,我是阿月。坚持刷题,老年痴呆追不上我,消失了一段时间,我又回来刷题啦,今天…...
SPI协议——对外部SPI Flash操作
目录 1. W25Q32JVSSIQ背景知识 1.1 64个可擦除块 1.2 1024个扇区(每个块有16个扇区) 1.3 页 1. W25Q32JVSSIQ背景知识 W25Q32JV阵列被组织成16,384个可编程页,每页有256字节。一次最多可以编程256个字节。页面可分为16组(4KB扇区清除&…...
kotlin类型检测与类型转换
一、is与!is操作符 1、使用 is 操作符或其否定形式 !is 在运行时检测对象是否符合给定类型。 fun main() {var a "1"if(a is String) {println("a是字符串类型:${a.length}")}// 或val b a is Stringprintln(b) } 二、"不安全的"转换操作符…...
【JDBC】Oracle数据库连接问题记录
Failed to load driver class oracle.jdbc.driver.OracleDriver in either of HikariConfig class oracle驱动包未正确加载,可以先尝试使用下面方式加载检查类是否存在,如果不存在需要手动下载odbc包 try {Class.forName("oracle.jdbc.driver.Ora…...
leetcode45 跳跃游戏II
题目 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i j] 处: 0 < j < nums[i] i j < n 返回到达 nums[n - 1]…...
【数学】什么是方法矩估计?和最大似然估计是什么关系?
背景 方法矩估计(Method of Moments Estimation)和最大似然估计(Maximum Likelihood Estimation, MLE)是两种常用的参数估计方法。方法矩估计基于样本矩与总体矩的关系,通过样本数据计算样本矩来估计总体参数。最大似…...
C++初学者指南第一步---10.内存(基础)
C初学者指南第一步—10.内存(基础) 文章目录 C初学者指南第一步---10.内存(基础)1.内存模型1.1 纸上谈兵:C的抽象内存模型1.2 实践:内存的实际处理 2. 自动存储3.动态存储:std::vector3.1 动态内…...
从Anaconda虚拟环境到Docker镜像:一份给数据科学家的迁移指南(避坑Dockerfile编写)
从Anaconda到Docker:数据科学家的环境迁移实战手册 当你的机器学习模型在本地运行良好,却在同事的电脑上频频报错时;当论文评审要求提供可复现的实验环境时;当需要将训练好的模型部署到云服务器时——conda虚拟环境的局限性便开始…...
Cursor Pro激活器:终极解决方案告别API限制,实现无限免费使用
Cursor Pro激活器:终极解决方案告别API限制,实现无限免费使用 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youv…...
Windows系统清理神器:DriverStore Explorer深度使用教程
Windows系统清理神器:DriverStore Explorer深度使用教程 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 你是否曾经遇到过Windows系统盘空间莫名减少的情况?是否…...
Midjourney咖啡印相落地实操:3步完成色彩校准、5种纸张适配方案与打印机ICC配置清单
更多请点击: https://intelliparadigm.com 第一章:Midjourney Coffee印相技术原理与工艺边界 Midjourney Coffee印相并非官方命名的技术标准,而是社区对一类融合生成式AI图像(如Midjourney输出)与传统咖啡渍显影工艺的…...
汽车芯片市场深度解析:从电动化、智能化到供应链变革
1. 汽车芯片行业:短期阵痛与长期增长的辩证观最近和几个在车厂和Tier 1供应商做研发的老朋友聊天,大家普遍的感觉是:冰火两重天。一边是终端市场感觉“卷”得厉害,销量波动、价格战不停;另一边,研发部门的芯…...
大厂光环褪去后,技术人该如何评估一份工作的价值?
当“进入大厂”不再是职业发展的唯一解,当“稳定”成为一种奢求,软件测试从业者需要一套更内核的价值评估体系。这套体系不应依赖于公司的名头或短期的薪资涨幅,而应聚焦于那些能够被你带走、并持续产生复利的核心资产。我们可以从以下四个维…...
LabVIEW数字IO编程避坑指南:单点采样、连续采样到底怎么选?NI-MAX测试面板帮你验证
LabVIEW数字IO编程实战:采样模式选择与NI-MAX验证全攻略 在工业自动化测试领域,LabVIEW的数字IO模块是最基础也最常用的功能之一。许多工程师在初次接触数字IO编程时,往往会被各种采样模式搞得晕头转向——单点采样、N采样、连续采样…...
Claude Orchestra:基于Claude模型的AI智能体编排框架实战指南
1. 项目概述:Claude Orchestra 是什么,以及它为何值得关注最近在探索如何将大型语言模型(LLM)的能力更系统地整合到工作流中时,我遇到了一个名为mianham9042/claude-orchestra的项目。这个名字本身就很有意思——“Cla…...
MTK平台Android 11定制:Settings里那些被“砍掉”的功能,到底怎么改的?
MTK平台Android 11深度定制:Settings功能裁剪的工程实践与源码解析 在移动设备系统定制领域,MTK平台因其高度集成的硬件方案和灵活的软件架构,成为众多厂商的首选。当我们基于MTK平台进行Android 11系统级定制时,Settings应用的模…...
CTF出题人视角:我是如何设计ctfshow F5杯那些“脑洞大开”的MISC题的
CTF出题人视角:如何设计令人拍案叫绝的MISC赛题 在CTF竞赛中,MISC(杂项)题目往往是最能体现创意与思维碰撞的领域。作为F5杯的核心出题人之一,我想分享几个设计"脑洞题"的底层逻辑——这些题目后来被参赛选手…...
