python学习笔记------字典

字典的定义

字典的定义,同样是使用{},不过存储的元素是一个个的键值对

基本语法:

#定义字典字面量

{key:value,key:value,key:value,......key:value}

#定义字典变量

my_dict={key:value,key:value,key:value,......key:value}

#定义空字典

my_dict={}

my_dict=dict()

字典key值重复,后面出现的value值会覆盖前面的value值

无下标索引

字典数据的获取

语法:字典[key]      可以取到对应value值

字典的key可以为任意数据类型,key不能是字典

可嵌套例如

#字典嵌套
my_dict4={"王力宏":{"语文":77,"数学":66,"英语":33},"周杰伦":{"语文":88,"数学":86,"英语":55},"王力宏":{"语文":99,"数学":96,"英语":66}}
score=my_dict4["周杰伦"]["语文"]
print(f"周杰伦的语文成绩:{score}")

 新增元素

字典名[key]=value

更新元素

字典名[key]=value

删除元素

语法:字典.pop(key)

结果:获得指定key的value,同时字典被修改,指定key的数据被删除

清空字典

字典.clear()

获取全部key

语法:字典.keys()

遍历字典

for key in keys:

      循环体

统计字典元素数量

len(字典)

#定义字典字面量
{"zhangsan":45,"lisi":55,"wangwu":30}
#定义字典变量
my_dict={"zhangsan":45,"lisi":55,"wangwu":30}
#定义空字典
my_dict1={}
my_dict2=dict()
print(f"my_dict的内容是{my_dict},类型是{type(my_dict)}")
print(f"my_dict1的内容是{my_dict1},类型是{type(my_dict1)}")
print(f"my_dict2的内容是{my_dict2},类型是{type(my_dict2)}")
#定义重复key的字典
my_dict3={"zhangsan":45,"zhangsan":35,"lisi":55,"wangwu":30}
print(f"my_dict3的内容是{my_dict3},类型是{type(my_dict2)}")
#字典数据的获取
print(my_dict3["zhangsan"])
print(my_dict3["lisi"])
print("wangwu")
#字典嵌套
my_dict4={"王力宏":{"语文":77,"数学":66,"英语":33},"周杰伦":{"语文":88,"数学":86,"英语":55},"王力宏":{"语文":99,"数学":96,"英语":66}}
score=my_dict4["周杰伦"]["语文"]
print(f"周杰伦的语文成绩:{score}")
#新增元素
my_dict={"zhangsan":45,"lisi":55,"wangwu":30}
my_dict["zhaoliu"]=60
print(my_dict)
#修改元素
my_dict["zhangsan"]=50
print(my_dict)
#删除元素
score=my_dict.pop("lisi")
print(my_dict)
#清空字典
my_dict.clear()
#获取所有key
my_dict={"zhangsan":45,"lisi":55,"wangwu":30}
xcore=my_dict.keys()
print(xcore)
#遍历字典
#通过获取所有key值
for key in xcore:print(f"字典的key值{key}")print(f"字典的value值{my_dict[key]}")
#直接遍历
for key in my_dict:print(f"2字典的key值{key}")print(f"2字典的value值{my_dict[key]}")#统计字典元素
num=len(my_dict)
print(f"my_dict的元素个数{num}")

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/735151.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

elasticsearch篇:RestClient操作

1. RestClient ES官方提供了各种不同语言的客户端,用来操作ES。这些客户端的本质就是组装DSL语句,通过http请求发送给ES。官方文档地址:Elasticsearch Clients | Elastic 其中的Java Rest Client又包括两种: Java Low Level Res…

windows10+cpu+pycharm跑yolov5

1、安装anaconda和pycharm,安装方法参考: anaconda和pycharm安装(windows10 )-CSDN博客 2、创建yolov5环境,打开Anaconda Prompt命令打开cmd命令行窗口,如下所示: 输入:conda crea…

【大模型】Hugging Face下载大模型的相关文件说明

Hugging Face下载大模型文件说明 1.前言 ​ 上图是毛毛张在HuggingFace的官网上的ChatGLM-6B大模型的所有文件,对于初学者来说,对于上面的文件是干什么的很多小伙伴是很迷糊的,根本不知道是干什么的,毛毛张接下来将简单讲述一下上面的每个文件的作用。 2.文件说明 在Hug…

FL Studio21最新官方完整免费版水果音乐制作软件下载

作为音乐制作软件专家,对于FL Studio21这款功能强大的音乐制作软件有着深入的了解,它为用户提供了从创作到后期制作的完整工作流程。以下是对其各项功能的全面、准确且详细的介绍: FL Studio 21 Win-安装包下载如下: https://wm.makeding.c…

vue项目部署服务器,因为跨域设置nginx.config要修改的配置

下面是我在vue项目中vite.config.js设置的配置代理 对于部署项目需要使用nginx进行vue项目的话,需要对nginx的配置文件进行如下修改即可

linux操作系统虚拟机的环境配置

目录 一、虚拟机安装(类似硬件的安装) (1)创建虚拟机 (2)创建虚拟机 二、IP和主机名称配置 1、设置VM上的IP 2、设置我们电脑上VMnet8的IP 3、设置虚拟机上的IP 主机名称映射 以下是设置主机名映射…

linux系统adb调试工具

adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb可以在Eclipse中通过DDMS来调试Android程序,说白了就是调试工具。 adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会…

实时工业控制系统的创新整合:PLC4X与CnosDB的高效数据采集与存储

在当代工业自动化系统中,实时监测和数据分析变得至关重要。本文将介绍如何通过集成Apache PLC4X与CnosDB,实现对工业控制系统中的PLC设备进行高效数据采集和存储,为工程师们提供更强大的数据分析和监测工具。 PLC的定义 PLC是可编程逻辑控制…

哈希表|242.有效的字母异位词

力扣题目链接 bool isAnagram(char* s, char* t) {int len_s strlen(s), len_t strlen(t);if(len_s ! len_t) {return false;}int table[26];memset(table, 0, sizeof(table));for(int i 0; i < len_s; i) {table[s[i] - a];}for(int i 0; i < len_t; i) {table[t[i…

Unity 关节:铰链、弹簧、固定、物理材质:摩檫力、 特效:拖尾、

组件-物理-关节&#xff1a;铰链&#xff08;类似门轴&#xff09; 自动动作、多少力可以将其断开、 弹簧可以连接另一个刚体&#xff08;拖动即可&#xff09; 固定一般是等待一个断裂力&#xff0c;造成四分五裂的效果。 物理材质 设置摩檫力&#xff0c;则可以创造冰面的…

复制表

目录 复制表 将部门 30 的所有员工信息保存在 emp30 表中 将复杂查询结果创建为表 只将 emp 表的结构复制为 empnull 表 从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645 复制表 严格来说&#xff0c;复制表不是复制操作&am…

【NR 定位】3GPP NR Positioning 5G定位标准解读(七)- GNSS定位方法

前言 3GPP NR Positioning 5G定位标准&#xff1a;3GPP TS 38.305 V18 3GPP 标准网址&#xff1a;Directory Listing /ftp/ 【NR 定位】3GPP NR Positioning 5G定位标准解读&#xff08;一&#xff09;-CSDN博客 【NR 定位】3GPP NR Positioning 5G定位标准解读&#xff08;…

Java积累

文章目录 java积累IDEA快捷键 java积累 Arrays.asList(args)&#xff1a; 将args转为列表的形式输出 常犯的错误&#xff1a;经常直接就new新的了。应该用上面的的。 new Date()是年月日时分秒。 LocalDate.now()是年月日 IDEA快捷键 Ctrl Alt B : 显示实现该类或者接口…

01hadoop概念

大数据与Hadoop 大数据指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合&#xff0c;需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。 Hadoop是什么&#xff1f; Hadoop是一种分析和处理海量数据的…

2024年掌握人工智能的顶级课程

[AI 课程推荐] 谷歌、微软、哈佛大学, DeepLearning.AI都发布了免费的人工智能和ChatGPT的课程。 以下是 2024 年掌握人工智能的顶级课程: GOOGLE - 生成式人工智能学习路径微软- 为每个人提供生成式人工智能微软 - 人工智能初学者入门哈佛 - CS50 的 Python 人工智能简介Deep…

mysql的安装启动

下载 2.解压后放在某个目录下&#xff1a; 3.修改系统变量 4.修改配置文件 &#xff08;创建一个ini文件放在解压后的目录下&#xff09; 内容如下 5.初始化mysql 1.用管理员模式下输入&#xff1a; mysqld --initialize --console C:\WINDOWS\system32>mysqld --initia…

Java面试必考题之线程的生命周期,结合源码,透彻讲解!

写在开头 在前面的几篇博客里&#xff0c;我们学习了Java的多线程&#xff0c;包括线程的作用、创建方式、重要性等&#xff0c;那么今天我们就要正式踏入线程&#xff0c;去学习更加深层次的知识点了。 第一个需要学的就是线程的生命周期&#xff0c;也可以将之理解为线程的…

JVM运行时数据区——对象的实例化内存布局与访问定位

文章目录 1、对象的实例化1.1、创建对象的方式1.2、创建对象的步骤 2、对象的内存布局3、对象的访问定位3.1、对象访问的定位方式3.2、使用句柄访问3.3、使用指针访问 4、小结 平时大家经常使用new关键字来创建对象&#xff0c;那么我们创建对象的时候&#xff0c;怎么去和运行…

ABAP接口-RFC连接(ABAP TO ABAP)

目录 ABAP接口-RFC连接&#xff08;ABAP TO ABAP&#xff09;创建ABAP连接RFC函数的调用 ABAP接口-RFC连接&#xff08;ABAP TO ABAP&#xff09; 创建ABAP连接 事务代码&#xff1a;SM59 点击创建&#xff0c;填写目标名称&#xff0c;选择连接类型&#xff1a; 填写主机名…

pycharm查看Tensor的完整数据

通常debug时&#xff0c;Tensor的数据呈现如下图&#xff0c;只显示开头几个值和结尾几个值&#xff0c;中间被省略&#xff1a; 解决方法&#xff1a; 右击想查看的数据&#xff0c;选择Evaluate Expression 输入如下命令&#xff0c;就会出现View as Array提示&#xff0c;…