当前位置: 首页 > 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%的…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频

使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求&#xff0c;由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面&#xff1a; &#x1f3db;️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限&#xff0c;形成层级清晰的管理网络&#xf…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

【HTML-16】深入理解HTML中的块元素与行内元素

HTML元素根据其显示特性可以分为两大类&#xff1a;块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

聊一聊接口测试的意义有哪些?

目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开&#xff0c;首…...

安卓基础(aar)

重新设置java21的环境&#xff0c;临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的&#xff1a; MyApp/ ├── app/ …...

技术栈RabbitMq的介绍和使用

目录 1. 什么是消息队列&#xff1f;2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...