Python3 字典
前言
本文主要介绍Python中的字典(dict),主要内容包括:字典简介、字典特性、字典的基本操作。
文章目录
- 前言
- 一、字典简介
- 二、字典特性
- 1、键值对
- 2、无序性?
- 3、可变性
- 4、键的唯一性
- 5、值的类型不限
- 三、字典的基本操作
- 1、创建
- 2、访问
- 3、增加、修改
- 4、删除
- 5、合并
- 6、遍历
- 7、查询字典的长度
一、字典简介
字典每个基本元素都包括两个部分:键(key) 和 键对应的值(value),字典的语法定义为:{键 : 值 , … },每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示:
my_dict = {'a': 1, 'b': 2, 'c': 3}
print(type(my_dict))
输出结果:
<class 'dict'>
二、字典特性
1、键值对
字典由键和值组成,键和值之间用冒号隔开,每个键值对之间用逗号分隔,如:
my_dict = {'a':1, 'b':2, 'c':3}
print(type(my_dict))
print(my_dict)
输出结果:
<class 'dict'>
{'a': 1, 'b': 2, 'c': 3}
2、无序性?
在python3.7版本之前,字典中的键值对是无序的。Python 3.7及以上版本中,字典实现中引入了一个新特性,即维护一个容纳插入顺序的子表。这种顺序子表允许字典在迭代或者输出时按照插入顺序返回其条目,而不是哈希表中的任意顺序(python3.7版本前),它的输出顺序通常是稳定的,但是我们仍然不可以认为字典是有序的,这种有序的特性没有得到明确的规定。(如果你的版本是python3.7以上,有例子说明是字典是无序的,请写在评论区,感谢!)
3、可变性
字典是可变的,可以对字典中的键值对进行增加、删除、修改等操作,如:
my_dict = {'a': 1, 'b': 2, 'c': 3}my_dict['d'] = 4
del my_dict['a']
my_dict['b'] = 9
print(my_dict)
输出结果:
{'b': 9, 'c': 3, 'd': 4}
4、键的唯一性
字典中的键必须是唯一的,所以可以用数字、字符串或元组充当,如果一个字典中有相同的键,后面的键将会覆盖前面的键对值,如:
my_dict = {'a': 1, 'b': 2, 'a': 3}
print(my_dict)
输出结果:
{'a': 3, 'b': 2}
5、值的类型不限
字典中的值可以是任何数据类型,如:
my_dict = {'a': (1,2), 'b': [3,4], 'c': {5,6},'d':'hello'}
print(type(my_dict))
print(my_dict)
输出结果:
<class 'dict'>
{'a': (1, 2), 'b': [3, 4], 'c': {5, 6}, 'd': 'hello'}
三、字典的基本操作
字典的基本操作有:创建、访问、增加、修改、删除、合并、遍历、查询字典的长度等
1、创建
创建字典有两种方式:1)使用大括号 { } 创建空字典、2)使用内建函数 dict() 创建字典,如:
my_dict1 = {'a': 1, 'b': 2, 'c': 3}
my_dict2 = dict({'d': 4, 'e': 5, 'f': 6})
print(type(my_dict1))
print(type(my_dict2))
输出结果:
<class 'dict'>
<class 'dict'>
2、访问
使用键来访问字典中的值,如:
my_dict = {'a': 1, 'b': 2, 'c': 3}
print(my_dict['b'])
输出结果:
2
3、增加、修改
使用赋值语对字典中的键值对添加或修改,如:
my_dict = {'a': 1, 'b': 2, 'c': 3}
my_dict['d'] = 4
my_dict['a'] = 9
print(my_dict)
输出结果:
{'a': 9, 'b': 2, 'c': 3, 'd': 4}
4、删除
使用 del 关键字和给定键来删除字典中的元素,如:
my_dict = {'a': 1, 'b': 2, 'c': 3}
del my_dict['a']
print(my_dict)
输出结果:
{'b': 2, 'c': 3}
5、合并
使用update()方法将一个字典合并到另一个字典中,如:
my_dict1 = {'a': 1, 'b': 2, 'c': 3}
my_dict2 = {'d': 4, 'e': 5, 'c': 9}
my_dict1.update(my_dict2)
print(my_dict1)
输出结果:
{'a': 1, 'b': 2, 'c': 9, 'd': 4, 'e': 5}
注意:如果两个字典中拥有相同的键,后一个字典中的值将覆盖前一个字典中的值。
6、遍历
使用 for 循环来遍历字典中的所有键值对,如:
my_dict = {'a': 1, 'b': 2, 'c': 3}print('输出遍历键:', end='')for key in my_dict:print(key ,' ' , end='')
print()print('输出遍历值:', end='')for val in my_dict.values():print(val,' ' , end='')
print()print('输出遍历键值对:', end='')for key, val in my_dict.items():print(key, val,' ' , end='')
print()
输出结果:
输出遍历键:a b c
输出遍历值:1 2 3
输出遍历键值对:a 1 b 2 c 3
7、查询字典的长度
使用内置函数 len() 来获取字典中键值对的数量,如:
my_dict = {'a': 1, 'b': 2, 'c': 3}
length = len(my_dict)
print(length)
输出结果:
3
相关文章:
Python3 字典
前言 本文主要介绍Python中的字典(dict),主要内容包括:字典简介、字典特性、字典的基本操作。 文章目录 前言一、字典简介二、字典特性1、键值对2、无序性?3、可变性4、键的唯一性5、值的类型不限 三、字典的基本操作1、创建2、访问3、增加…...
JPA详解
文章目录 JPA概述JPA的优势JPA注解 JPA概述 Java Persistence API(JPA)是 Java EE 平台的一部分,它为开发者提供了一种用于对象关系映射(ORM)的标准化方法。JPA 提供了一组 API 和规范,用于在 Java 应用程…...
Linux线程:线程分离
目录 一、什么是线程分离 1.1pthread_detach 1.2pthread线程库存在的意义 1.3__thread线程的局部存储 1.4系统调用clone 一、什么是线程分离 1.1pthread_detach 默认情况下,新创建的线程是joinable的,线程退出后,需要对其进行pthread_joi…...
chatgpt之api的调用问题
1.调用api过程中,出现如下报错内容 先写一个测试样例 import openaiopenai.api_key "OPEN_AI_KEY" openai.api_base"OPEN_AI_BASE_URL" # 是否需要base根据自己所在地区和key情况进行completion openai.ChatCompletion.create(model"g…...
Java中lambda表达式是啥怎么使用
在Java中,Lambda表达式(也称为闭包)是一种简洁地表示匿名函数(即没有名称的函数)的方式。它们允许你将函数作为参数传递或赋值给变量,从而简化代码。Lambda表达式在Java 8及更高版本中引入。 Lambda表达式…...
selenium中, quit 和close的区别
close时 """ close和quit的区别 close关闭当前页 (只是关闭了当前) quit离开整个浏览器 (走远了) """ from selenium import webdriver import time# 创建浏览器驱动对象 from selenium.webdriver.co…...
管易云和金蝶云星空接口打通对接实战
管易云和金蝶云星空接口打通对接实战 源系统:管易云 金蝶管易云是金蝶集团旗下以电商和新零售为核心业务的子公司,公司于2008年成立,拥有从事电商及新零售业务相关专业知识工作者超过1000人。为伊利、网易有道、东阿阿胶、金龙鱼、海康、科大讯飞等超过1…...
DP-Kmaens密度峰值聚类算法
我有个问题 关于 [密度值>密度阈值] 的判定这里,新进来的新数据怎么确定他的密度值?密度阈值又是怎样确定的呢?...
STM32-14-FSMC_LCD
STM32-01-认识单片机 STM32-02-基础知识 STM32-03-HAL库 STM32-04-时钟树 STM32-05-SYSTEM文件夹 STM32-06-GPIO STM32-07-外部中断 STM32-08-串口 STM32-09-IWDG和WWDG STM32-10-定时器 STM32-11-电容触摸按键 STM32-12-OLED模块 STM32-13-MPU 文章目录 1. 显示器分类2. LCD简…...
linux nohup命令详解:持久运行命令,无视终端退出
nohup (全称为 “no hang up”),用于运行一个命令,使其在你退出 shell 或终端会话后继续运行。 基本语法 nohup command [arg1 ...] [&> output_file] &command 是你想要运行的命令。[arg1 ...] 是该命令的参数。&am…...
PS系统教程09
修复照片 修饰工具 污点修复画笔工具(J) 主要作用:去除一些污点或者不需要的 【:缩小】:放大 目标:去掉这两个点 修复画笔工具 也就是说我们要有取样点 选择修复画笔工具按住Alt键吸取周边相近颜色松开单机…...
2024089期传足14场胜负前瞻
2024089期售止时间为6月3日(周一)22点00分,敬请留意: 本期1.5以下赔率5场,1.5-2.0赔率5场,其他场次是平半盘、平盘。本期14场难度偏低。以下为基础盘前瞻,大家可根据自身判断,复选增…...
备战十一届大唐杯国赛预选赛
这次省赛带了太多个省一了,具体可看下面的图片,只放了一部分。目前根据可靠消息,应该还有个预选赛和去年一样,就是还会考一次仿真。如果说通过了就是国二起步然后去北方工业争夺国一国二,没过的话就是国三。 每…...
安装 Android Studio 2024.1.1.6(Koala SDK35)和过程问题解决
记录更新Android Studio版本及适配Android V应用配置的一些过程问题。 安装包:android-studio-2024.1.1.6-windows.exe原版本:Android Studio23.2.1.23 Koala 安装过程 Uninstall old version 不会删除原本配置(左下角提示) Un…...
美团一面:什么是CAS?有什么优缺点?我说你说的是AtomicInteger吗?
引言 传统的并发控制手段,如使用synchronized关键字或者ReentrantLock等互斥锁机制,虽然能够有效防止资源的竞争冲突,但也可能带来额外的性能开销,如上下文切换、锁竞争导致的线程阻塞等。而此时就出现了一种乐观锁的策略&#x…...
【linux】(2)文件内容排序sort
sort 是一个用于排序文件内容的命令行工具,在 Linux 和 Unix 系统中非常常用。 基本用法 sort [OPTION]... [FILE]...常用选项 按数值排序 -n sort -n filename例子:对包含数值的文件进行排序。 按字典顺序排序 -d sort -d filename例子࿱…...
css 图片上添加模糊背景的文字内容
html部分 <div class"onlogo"> <img src"../assets/img/banner.png" /><div class"imgText"><div class"title">一体化电子印章应用服务</div><div class"content">为企业提供安全可靠…...
Python3 函数参数
前言 本文主要介绍python中的函数参数,主要内容包括形式参数与实际参数的概念、位置参数、关键字参数、默认参数、可变参数。 文章目录 前言一、形式参数与实际参数的概念二、位置参数(也叫必需参数)三、关键字参数四、默认参数五、可变参数…...
精准检测,可燃气体报警系统的技术原理与特点
在现代化的工业生产与日常生活中,可燃气体泄露事故频发,给人们的生命和财产安全带来了严重威胁。 因此,可燃气体报警检测系统的应用变得尤为重要。它不仅能够实时监测环境中的可燃气体浓度,还能在发现异常情况时及时报警…...
6月2(信息差)
🌍特斯拉:Model3高性能版预计6月中旬开启首批交付 🎄微软对开源字体 Cascadia Code 进行重大更新 ✨天猫618加码引爆消费热潮 截至晚9点185个品牌成交破亿 1.瑞士清洁科技公司Librec开发废旧锂离子电池回收技术,可回收电池90%的…...
深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...
BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...
基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...
NPOI Excel用OLE对象的形式插入文件附件以及插入图片
static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...
为什么要创建 Vue 实例
核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...
