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%的…...

先锋文汇发稿技巧方法
v:yangwei013049 看到标题,有的同志也许会说,投稿就是把稿子发走就行了呗,这要讲究什么方法呢?其实,投稿里面也有学问。不会投稿,方法不当,往往得不到好的效果。 从我多年的实践和…...

无人机推流/RTMP视频推拉流EasyDSS无法卸载软件是什么原因?
视频推拉流/直播点播EasyDSS平台支持音视频采集、视频推拉流、播放H.265编码视频、存储、分发等视频能力服务,在应用场景中可实现视频直播、点播、转码、管理、录像、检索、时移回看等。此外,平台还支持用户自行上传视频文件,也可将上传的点播…...

QML信号连接到c++的槽函数(五)
文章目录 前言一、QML Signal and Handler Event System二、QML信号连接到c++的槽函数代码实例1. 创建一个QML 工程2. 用C++ 实现一个QML Types3. 代码实例4. 运行结果总结参考资料前言 本文主要介绍,如何将QML 中的信号连接到C++ 中的槽函数 软硬件环境: 硬件:PC 软件:wi…...

[Windows] 植物大战僵尸杂交版
游戏包含冒险模式、挑战模式、生存模式三种不同玩法。冒险模式主打关卡闯关,挑战模式则挑战特殊设计的关卡,生存模式结合无尽模式和特殊地图,各具特色。玩家可根据喜好自由选择模式,体验不同的游戏乐趣。快来尝试这款独特的pvz游戏…...

JVM之【GC-可达性分析算法】
在Java虚拟机(JVM)中,可达性分析算法(Reachability Analysis)用于垃圾收集,以确定哪些对象是“可达”的,即哪些对象仍然有用,哪些对象可以被回收。下面是对可达性分析算法及其底层实…...

【机器学习】——驱动智能制造的青春力量,优化生产、预见故障、提升质量
目录 一.优化生产流程 1.1 数据收集 1.2 数据预处理 1.3 模型训练 1.4 优化建议 1.5 示例代码 二.预测设备故障 2.1 数据收集 2.2 数据预处理 2.3 模型训练 2.4 故障预测 2.5 示例代码 三.提升产品质量 3.1 数据收集 3.2 数据预处理 3.3 模型训练 3.4 质量提升…...
Python实用代码片段分享(三)
在今天的博文中,我们将继续分享一些Python编程中非常实用的代码片段。这些代码片段将帮助你更高效地处理常见任务,从字符转换到数据类型检查,应有尽有。 1. ord函数和chr函数 Python的ord()函数可以返回Unicode字符对应的ASCII码值…...

树形结构-CRUD接口
先看一下效果:整体的效果 新增效果 --默认值是 default 修改效果 - 大致效果如上 --------------------------------------------------------------------------------------------------------------------------------- 下面讲解代码如何实现的 根据你使用…...

【Qt知识】Qt窗口坐标系
Qt的窗口坐标体系遵循标准的计算机图形坐标系统规则 Qt窗口坐标体系特点 坐标原点:窗口坐标体系的原点位于窗口的左上角,即坐标(0, 0)位置。 轴方向: X轴:向右为正方向,随着X坐标值的增加,元素在窗口中从…...

SAP Build引言
前言 SAP Build 似乎是一个整合了很多低代码或无代码产品的平台,最早的时候应该都是各自分开的几个产品,近年合并到一块上了SAP Build平台 现在看官网的介绍应该是有三四个产品被集成进来了,分别是SAP IRPA,SAP Workflow…...