当前位置: 首页 > news >正文

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中的字典&#xff08;dict&#xff09;,主要内容包括&#xff1a;字典简介、字典特性、字典的基本操作。 文章目录 前言一、字典简介二、字典特性1、键值对2、无序性?3、可变性4、键的唯一性5、值的类型不限 三、字典的基本操作1、创建2、访问3、增加…...

JPA详解

文章目录 JPA概述JPA的优势JPA注解 JPA概述 Java Persistence API&#xff08;JPA&#xff09;是 Java EE 平台的一部分&#xff0c;它为开发者提供了一种用于对象关系映射&#xff08;ORM&#xff09;的标准化方法。JPA 提供了一组 API 和规范&#xff0c;用于在 Java 应用程…...

Linux线程:线程分离

目录 一、什么是线程分离 1.1pthread_detach 1.2pthread线程库存在的意义 1.3__thread线程的局部存储 1.4系统调用clone 一、什么是线程分离 1.1pthread_detach 默认情况下&#xff0c;新创建的线程是joinable的&#xff0c;线程退出后&#xff0c;需要对其进行pthread_joi…...

chatgpt之api的调用问题

1.调用api过程中&#xff0c;出现如下报错内容 先写一个测试样例 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中&#xff0c;Lambda表达式&#xff08;也称为闭包&#xff09;是一种简洁地表示匿名函数&#xff08;即没有名称的函数&#xff09;的方式。它们允许你将函数作为参数传递或赋值给变量&#xff0c;从而简化代码。Lambda表达式在Java 8及更高版本中引入。 Lambda表达式…...

selenium中, quit 和close的区别

close时 """ close和quit的区别 close关闭当前页 (只是关闭了当前) quit离开整个浏览器 &#xff08;走远了&#xff09; """ from selenium import webdriver import time# 创建浏览器驱动对象 from selenium.webdriver.co…...

管易云和金蝶云星空接口打通对接实战

管易云和金蝶云星空接口打通对接实战 源系统:管易云 金蝶管易云是金蝶集团旗下以电商和新零售为核心业务的子公司&#xff0c;公司于2008年成立&#xff0c;拥有从事电商及新零售业务相关专业知识工作者超过1000人。为伊利、网易有道、东阿阿胶、金龙鱼、海康、科大讯飞等超过1…...

DP-Kmaens密度峰值聚类算法

我有个问题 关于 [密度值>密度阈值] 的判定这里&#xff0c;新进来的新数据怎么确定他的密度值&#xff1f;密度阈值又是怎样确定的呢&#xff1f;...

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 &#xff08;全称为 “no hang up”&#xff09;&#xff0c;用于运行一个命令&#xff0c;使其在你退出 shell 或终端会话后继续运行。 基本语法 nohup command [arg1 ...] [&> output_file] &command 是你想要运行的命令。[arg1 ...] 是该命令的参数。&am…...

PS系统教程09

修复照片 修饰工具 污点修复画笔工具&#xff08;J&#xff09; 主要作用&#xff1a;去除一些污点或者不需要的 【&#xff1a;缩小】&#xff1a;放大 目标&#xff1a;去掉这两个点 修复画笔工具 也就是说我们要有取样点 选择修复画笔工具按住Alt键吸取周边相近颜色松开单机…...

2024089期传足14场胜负前瞻

2024089期售止时间为6月3日&#xff08;周一&#xff09;22点00分&#xff0c;敬请留意&#xff1a; 本期1.5以下赔率5场&#xff0c;1.5-2.0赔率5场&#xff0c;其他场次是平半盘、平盘。本期14场难度偏低。以下为基础盘前瞻&#xff0c;大家可根据自身判断&#xff0c;复选增…...

备战十一届大唐杯国赛预选赛

这次省赛带了太多个省一了&#xff0c;具体可看下面的图片&#xff0c;只放了一部分。目前根据可靠消息&#xff0c;应该还有个预选赛和去年一样&#xff0c;就是还会考一次仿真。如果说通过了就是国二起步然后去北方工业争夺国一国二&#xff0c;没过的话就是国三。 每…...

安装 Android Studio 2024.1.1.6(Koala SDK35)和过程问题解决

记录更新Android Studio版本及适配Android V应用配置的一些过程问题。 安装包&#xff1a;android-studio-2024.1.1.6-windows.exe原版本&#xff1a;Android Studio23.2.1.23 Koala 安装过程 Uninstall old version 不会删除原本配置&#xff08;左下角提示&#xff09; Un…...

美团一面:什么是CAS?有什么优缺点?我说你说的是AtomicInteger吗?

引言 传统的并发控制手段&#xff0c;如使用synchronized关键字或者ReentrantLock等互斥锁机制&#xff0c;虽然能够有效防止资源的竞争冲突&#xff0c;但也可能带来额外的性能开销&#xff0c;如上下文切换、锁竞争导致的线程阻塞等。而此时就出现了一种乐观锁的策略&#x…...

【linux】(2)文件内容排序sort

sort 是一个用于排序文件内容的命令行工具&#xff0c;在 Linux 和 Unix 系统中非常常用。 基本用法 sort [OPTION]... [FILE]...常用选项 按数值排序 -n sort -n filename例子&#xff1a;对包含数值的文件进行排序。 按字典顺序排序 -d sort -d filename例子&#xff1…...

css 图片上添加模糊背景的文字内容

html部分 <div class"onlogo"> <img src"../assets/img/banner.png" /><div class"imgText"><div class"title">一体化电子印章应用服务</div><div class"content">为企业提供安全可靠…...

Python3 函数参数

前言 本文主要介绍python中的函数参数&#xff0c;主要内容包括形式参数与实际参数的概念、位置参数、关键字参数、默认参数、可变参数。 文章目录 前言一、形式参数与实际参数的概念二、位置参数&#xff08;也叫必需参数&#xff09;三、关键字参数四、默认参数五、可变参数…...

精准检测,可燃气体报警系统的技术原理与特点

在现代化的工业生产与日常生活中&#xff0c;可燃气体泄露事故频发&#xff0c;给人们的生命和财产安全带来了严重威胁。 因此&#xff0c;可燃气体报警检测系统的应用变得尤为重要。它不仅能够实时监测环境中的可燃气体浓度&#xff0c;还能在发现异常情况时及时报警&#xf…...

6月2(信息差)

&#x1f30d;特斯拉&#xff1a;Model3高性能版预计6月中旬开启首批交付 &#x1f384;微软对开源字体 Cascadia Code 进行重大更新 ✨天猫618加码引爆消费热潮 截至晚9点185个品牌成交破亿 1.瑞士清洁科技公司Librec开发废旧锂离子电池回收技术&#xff0c;可回收电池90%的…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业&#xff0c;其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进&#xff0c;需提前预防假检、错检、漏检&#xff0c;推动智慧生产运维系统数据的流动和现场赋能应用。同时&#xff0c;…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

Linux-07 ubuntu 的 chrome 启动不了

文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了&#xff0c;报错如下四、启动不了&#xff0c;解决如下 总结 问题原因 在应用中可以看到chrome&#xff0c;但是打不开(说明&#xff1a;原来的ubuntu系统出问题了&#xff0c;这个是备用的硬盘&a…...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域&#xff0c;Hive 作为 Hadoop 生态中重要的数据仓库工具&#xff0c;其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式&#xff0c;很多开发者常常陷入选择困境。本文将从底…...

C++.OpenGL (20/64)混合(Blending)

混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...

基于Springboot+Vue的办公管理系统

角色&#xff1a; 管理员、员工 技术&#xff1a; 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能&#xff1a; 该办公管理系统是一个综合性的企业内部管理平台&#xff0c;旨在提升企业运营效率和员工管理水…...

Windows安装Miniconda

一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...