【Python】带你进入字典的世界

news2024/9/21 20:26:48

如约而至,紧接着上一期文章,小编将会陆续把全套的Python笔记将依次发放给大家,便于大家学习Python、期末备考、巩固基础等

(这几期是公众号小插曲,后期发放编程技术的话主要还是会围绕Java来展开~感谢大家支持)

字典

  • 字典是Python内置的数据结构之一<class 'dict'>,与列表一样是一个可变的序列(进行增删改)

  • 键值对的方式存储数据,字典是一个无序的序列

第一个放进去不一定在第一个位置(它底层会用hash计算键进行放入)

  • 字典会浪费较大的内存,是一种空间换时间的数据结构

  • 无序不可重复

  • 字典中的可以是不可变对象

scores={'张三': 100, '李四' : '98'}

根据key找value,类似于java中的Map,也都是无序不可重复 ,重复即覆盖

字典的创建

  • 最常用的方式:使用花括号

scores={' 张三' : 100, '李四' : 98}

  • 使用内置函数dict()

dict(name = 'jack' , age= 20)

取值与使用get()取值的区别

  • []如果字典中不存在指定的key,抛出keyError异常

  • get()方法取值,如果字典中不存在指定的key,并不会抛出KeyError,而是返回None,可以通过参数设置默认的value,以便指定的key不存在时返回

scores={'张三': 100, '李四' : '98'}scores.get('哈哈',99) #99是在查找哈哈不存在时候返回99

key的判断

  • in :指定的key在字典中存在返回True

  • not in:指定的key在字典中不存在时返回True

  • 字典的删除:del scores['张三']

  • 字典的新增:scores['jack']=90 没有则新增,有则value覆盖

  • 字典的清空:clear

获取字典视图

获取字典视图的三个方法:

  • keys():获取字典中所有key,类型<class 'dict_keys'>

也可以将其转换为列表,list(keys)

  • values():获取字典中所有value,类型<class 'dict_values'>

  • items():获取字典中所有的key,value对

scores={'张三':100,'李四':98,'王五':45}# 获取所有的keykeys = scores.keys()print(keys) # dict_keys(['张三', '李四', '王五'])print(type(keys)) # <class 'dict_keys'>print(list(keys)) # ['张三', '李四', '王五']# 获取所有valuevalues=scores.values()print(values) # dict_values([100, 98, 45])print(type(values)) # <class 'dict_values'>print(list(values)) # [100, 98, 45]# 获取所有的key-value对items=scores.items()print(items)  # dict_items([('张三', 100), ('李四', 98), ('王五', 45)])# 这个小括号称为元祖print(list(items))# [('张三', 100), ('李四', 98), ('王五', 45)]

字典元素的遍历

scores={'张三':100,'李四':98,'王五':45}  for item in scores:    # scpres.get()和scores[]都是根据key获取value    print(item,scores[item],scores.get(item))

输出

张三 100 100

李四 98 98

王五 45 45

字典生成式

  • 内置函数zip()

  • 用于将可迭代的对象作为参数,将对象中对应的元素打包成一个元祖,然后返回由这些元组组成的列表

items=['Fruits','Books','Others']prices=[96,78,85]d = {item : price for item,price inzip(items , prices)}print(d) # {'Fruits': 96, 'Books': 78, 'Others': 85}# d = {item.upper() : price for item,price in zip(items , prices)} #  item.upper()是全部变成大写

为了应付期末考试,我又学习了一门语言

1760字,让你拿捏['列表']

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

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

相关文章

鸿翼企业网盘 激活企业协作办公

信息化的发展&#xff0c;使企业网盘成为了许多企业必备的“数字基础设施”。鸿翼企业网盘&#xff0c;让网盘不仅是数据存储的“仓库”&#xff0c;更是数据利用的“中枢”&#xff0c;以网盘为载体&#xff0c;激活企业“协作力”。 企业网盘起初是为了解决企业内数据统一存储…

基于SpringBoot+MyBaits_Vue+ElementUi构建项目

基于SpringBootMyBaits_VueElementUi构建项目 1.Spring Boot 后台搭建 1.1.项目初始化 前期准备&#xff1a;maven&#xff0c;jdk&#xff08;1.8&#xff09;&#xff0c;idea 1.1.1.下载地址 Spring官方提供了Springboot自定义配置地址&#xff0c;可依照相关选项搭建所…

6.4 实战:实现 Web API 版本控制

第6章 构建 RESTful 服务 6.1 RESTful 简介 6.2 构建 RESTful 应用接口 6.3 使用 Swagger 生成 Web API 文档 6.4 实战&#xff1a;实现 Web API 版本控制 6.4 实战&#xff1a;实现 Web API 版本控制 如果业务需求变更&#xff0c;Web API 功能发生变化时应该如何处理呢&…

易错:List中的add方法添加对象时出现重复的问题

错误&#xff1a; 用list存储User对象信息&#xff0c;当存储多个对象时&#xff0c;发现存储的数据都是一样的 之前代码&#xff1a; User user new User();List<User> list new ArrayList<>();for (int i 0; i < 5; i) {user.setName("Tom"i);…

drf-yasg —— Django REST Framework 文档生成

drf-yasg —— Django REST Framework 文档生成 drf-yasg 安装及全局配置 安装以及这个官方文档非常详细的描述了&#xff0c;我就不多说了。 配置好并运行 Django 项目以后&#xff0c;就可以使用浏览器访问 /swagger/ 和 /redoc/ &#xff08;链接取决于你的 urls 的配置&am…

看见统计——第五章 统计推断:贝叶斯学派

看见统计——第五章 统计推断&#xff1a;贝叶斯学派 引言 推理的频率学派认为&#xff0c;概率在本质上是与频率联系在一起的。这种解释实际上是很自然的。按照频率学派的说法&#xff0c;一枚公平的硬币出现人头的概率是1/2。简单地说&#xff0c;在同一个硬币的无限次独立…

打造一款日志分析工具

一、简介 作为一名安全从业者&#xff0c;网络安全事件的应急响应工作是必不可少的&#xff0c;那么在应急支撑时&#xff0c;针对大量的日志数据便需要借助自动化工具实现快速的归类检测&#xff0c;并提取出所需的关键日志数据。本篇文章主要通过利用python语言编写一款web日…

自带超多工具,好用又免费,这3款手机浏览器你用过了吗

手机浏览器是我们手机中必备的一款软件APP&#xff0c;一款好用的浏览器&#xff0c;可以帮助我们提高工作效率&#xff0c;节省时间。对于懒癌患者来说&#xff0c;手机上安装各种各种的app很麻烦&#xff0c;下面给大家介绍自带超多的工具&#xff0c;好用且免费的浏览器&…

SpringCloud网关Zuul和GateWay区别

getway和zuul没有进行参数调优的时候&#xff0c;getway的性能会远高于zuul。 分析&#xff0c;在空负载的时候&#xff0c;SpringCloud Gateway比zuul 1 性能高50%左右&#xff0c;在模拟处理50ms业务后&#xff0c;&#xff0c;SpringCloud Gateway比zuul 1 性能高9倍左右。 …

嵌入式Qt 开发一个视频播放器

上篇文章&#xff1a;嵌入式 Qt开发一个音乐播放器&#xff0c;使用Qt制作了一个音乐播放器&#xff0c;并在OK3568开发板上进行了运行测试&#xff0c;实际测试效果还不错。 本篇继续来实现一个Qt视频播放器软件&#xff0c;可以实现视频列表的显示与选择播放等&#xff0c;先…

【干货】如何用低代码帮助企业实施OKR?

近年来受疫情的影响&#xff0c;许多企业都开始使用 OKR来进行目标管理。OKR是一套让企业持续保持活力的有效管理工具&#xff0c;能够帮助企业实现目标、激励员工、增加团队凝聚力、减少组织内耗&#xff0c;从而进一步实现创新。但是在实际布局中&#xff0c;很多企业在使用 …

基础面试题 :大端、小端及转换方式

理解网络中大端和小端往往是一道基础面试题 &#xff0c;这里作为记录和整理&#xff0c;希望能帮到大家 目录 前言 一、字节序 二、什么小端顺序 三、什么大端顺序 四、处理器体系所属网络字节顺序 五、大小端转换 1、大端整形转换为小端 2、小端转换为小端 3、…

知乎x-zse-96 参数补环境

本文精工学习参考 目标链接 aHR0cHM6Ly93d3cuemhpaHUuY29tL3NlYXJjaD90eXBlPWNvbnRlbnQmcT1weXRob24接口分析 参数x-zse-93&#xff1a;相当于版本号 参数x-zse-96&#xff1a;看起来需要破解 参数x-zst-81&#xff1a;请求发现可以置空 综上所述x-zse-96才需要逆向。 参数…

中间件安全—Apache常见漏洞

中间件安全—Apache常见漏洞1.Apache常见漏洞1.1.Apache介绍1.2.Apache HTTPD 换行解析漏洞&#xff08;CVE-2017-15715&#xff09;1.2.1.漏洞介绍1.2.2.漏洞环境1.2.2.1.运行漏洞环境1.2.2.2.访问漏洞环境1.2.3.漏洞复现1.2.3.1.拦截1.2.3.2.添加换行1.2.3.3.访问文件1.3.Apa…

[机器学习]卷积神经网络DLC

一、基本结构 CNN的大概模式可以总结为&#xff1a;卷积层池化层全连接层激活函数 而一些比较大型的网络如VGG一般将CNN作为构成单元进行堆叠&#xff0c;而内部卷积核和池化也可以堆叠多个。各个部分的功能如下&#xff1a; 卷积&#xff1a;特征提取 池化&#xff1a;降维和防…

硬件设备 之一 详解 JTAG、SWD 接口、软 / 硬件断点、OpenOCD、J-link

JTAG 和 SWD 在嵌入式开发中可以说是随处可见&#xff0c;他们通常被用来配合 J-Link 、ULINK、ST-LINK 等仿真器在线调试嵌入式程序。此外&#xff0c;还有飞思卡尔芯片中的 Background debug mode&#xff08;BDM&#xff09; 接口&#xff0c;Atmel 芯片中的 debugWIRE &…

文本生成图像应用指南【Stable Diffusion】

Stable Diffusion 是一种文本到图像的潜在扩散模型&#xff0c;由来自 CompVis、Stability AI 和 LAION 的研究人员和工程师创建。 它使用来自 LAION-5B 数据库子集的 512x512 图像进行训练。 稳定扩散&#xff0c;生成人脸&#xff0c;也可以在自己的机器上运行&#xff0c;如…

车载技术开发—{Android CarFrameWork}

Android Automotive平台 Android Automotive是通过Android的通用框架&#xff0c;语言和API来实现的一个全栈&#xff0c;开源&#xff0c;高度可定制的平台。 Android Automotive与整个Android生态系统的关系 Android Automotive是Android的一部分。 Android Automotive不是…

pbootcms被黑木马问题(3)

昨天经过同事告知发现了很早之间做的几个企业官方都中木马了,然后看了一下木马情况,跟之间的两次都有所不同,这里记录一下新的木马的清理过程,有遇到的朋友可以借鉴一下。&#xff08;之前有做过一些防止批量扫站的措施&#xff0c;因为嫌麻烦就没有给这些网站上进行修改&#…

【Spark分布式内存计算框架——Spark SQL】13. 自定义UDF函数

第七章 自定义UDF函数 无论Hive还是SparkSQL分析处理数据时&#xff0c;往往需要使用函数&#xff0c;SparkSQL模块本身自带很多实现公共功能的函数&#xff0c;在org.apache.spark.sql.functions中。SparkSQL与Hive一样支持定义函数&#xff1a;UDF和UDAF&#xff0c;尤其是U…