Python_数据容器_字典

news2024/10/6 18:33:44

一、字典(映射)的定义 

生活中的字典:

【字】:【含义】

可以按【字】找出对应的【含义】

Python中的字典:

key : value

可以按照[key]找出对应的[value]

1、Python字典使用场景:

 

通过使用字典,实现用key取出value的操作  

2、字典的定义: 字典中的元素为键值对

同样使用{},不过存储的元素是一个个的:键值对 如下语法:

字典dict中的key不允许重复

3、字典数据的获取

字典和集合一样,不可以使用下标索引

但是字典可以通过key值来取得对应的value

4、字典的嵌套

字典的key和value可以是任意数据类型(key不可以为字典)

表明字典是可以嵌套的

需求如下:记录学生各科的考试信息  学生姓名作为key 各科成绩作为value

"""

演示数据容器字典的定义

"""

# 定义字典 key:value  --为一个元素

my_dict1 = {"moew":100,"piggy":0,"doggy":22}

# 定义空字典

my_dict2 = {}

my_dict3 = dict()

print(f"字典1内容:{my_dict1},类型{type(my_dict1)}")

print(f"字典2内容:{my_dict2},类型{type(my_dict2)}")

print(f"字典3内容:{my_dict3},类型{type(my_dict3)}")

# 定义重复key的字典 key不允许重复

my_dict4 = {"piggy":100,"piggy":0,"doggy":22}

print(f"重复key的字典内容是:{my_dict4}")

# 从字典中基于key获取value

my_dict1 = {"moew":100,"piggy":0,"doggy":22}

score = my_dict1["moew"]

print(f"moew中对应的值是:{score}")

score = my_dict1["piggy"]

print(f"piggy中对应的值是:{score}")

# 定义嵌套字典

info_dict = {

    "moew":{

        '语文':88,

        '数学':90,

        '英语':100

    },"piggy":{

        '语文':78,

        '数学':80,

        '英语':90

    },"doggy":{

        '语文':68,

        '数学':70,

        '英语':60

    }

}

print(info_dict)

# 从嵌套字典中获取数据 看一下 doggy 数学

score = info_dict["doggy"]['数学']

print(f"doggy的数学:{score}")

二、字典的常用操作

1、新增元素

语法:字典[key]=Value  字典被修改 新增了元素

2、更新元素

语法:对于已存在的key 字典[key]=Value  字典被修改 新增了元素

由于字典key不可以重复 所以对已存在的key执行该操作就是更新value

3、删除元素

语法:字典.pop()  获得指定key的value,同时字典被修改,指定key的value被删除

3、清空元素

语法:字典.clear()   字典被修改,元素被清空

4、获取全部的key 

语法:字典.keys()

字典的常用操作总结:

字典的特点总结:

  • 可以容纳多个数据

  • 可以容纳不同类型的数据

  • 每一分数据都是key:value键值对

  • 可以通过key取到value,key不可以重复(重复会覆盖)

  • 不支持下标索引

  • 可以修改(增加或删除更新元素等)

  • 支持for循环,不支持while循环

案例练习:

# 有如下员工 使用字典完成数据记录 使用for循环对于级别为1的员工级别上升一级 薪水增加1000元

info_dict = {'mew':{'部门':'科技部','工资':3000,'级别':1},

             'dog':{'部门':'市场部','工资':5000,'级别':2},

             'pig': {'部门': '市场部', '工资': 7000, '级别': 3},

             'rat': {'部门': '科技部', '工资': 4000, '级别': 1},

             'panda': {'部门': '市场部', '工资': 6000, '级别': 2},

             }

print(f"全体员工当前信息如下:{info_dict}")

for inf in info_dict:

        if info_dict[inf]['级别'] == 1:

            info_dict[inf]['级别'] = 2

            info_dict[inf]['工资'] += 1000





       # if tmp_dict[inf]['级别'] == '1':

print(f"全体员工级别为1的员工完成升级加薪后信息如下:{info_dict}")

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

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

相关文章

uni-app 之 web-view 与h5 通讯

官网文档:https://uniapp.dcloud.net.cn/component/web-view.html#getenv web-view 是一个 web 浏览器组件,可以用来承载网页的容器,会自动铺满整个页面(nvue 使用需要手动指定宽高)。 各小程序平台,web-v…

图像下采样再上采样维度不匹配

图像在下采样后再上采样,维度会发生不匹配,假设一幅图像的维度为(b,c,h,w),那么当h和w是偶数的时候,下采样和上采样是匹配的,当且仅当他是偶数的时候才匹配,然而图像的h和w往往不一定是偶数。当然有许多种方…

【Shell 脚本速成】06、Shell 数组详解

目录 一、数组介绍 二、数组定义 三、数组赋值方式 四、数组取值 案例演示 五、关联数组 5.1 定义管理数组 5.2 关联数组赋值 5.3 管理数组取值 5.4 综合案例 有这样一个现实问题:一个班级学员信息系统,要求存储学员ID、NAME、SCORE、AGE、GE…

关于订单功能的处理和分析

这两天看了一下RABC的权限管理处理,梳理了一下订单功能的表创建,界面,功能分析。 目录 RABC RBAC0模型 那么对于RABC模型我们怎么创建数据库表? 订单模块的梳理 RABC RABC说的是在用户和权限之间多一个角色,用户与…

软件测试基础

⭐️前言⭐️ 🍉博客主页: 🍁【如风暖阳】🍁 🍉精品Java专栏【JavaSE】、【备战蓝桥】、【JavaEE初阶】、【MySQL】、【数据结构】 🍉欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟&…

Spring Cloud OpenFeign - - - >拦截器

源码地址:https://download.csdn.net/download/weixin_42950079/87209379 SpringMVC拦截器 和 OpenFeign拦截器 的区别 初学者很容易将 Spring MVC 拦截器 和 Spring Cloud OpenFeign 拦截器搞混,误以为OpenFeign拦截器就是SpringMVC拦截器: …

虹科分享 | 麦氏比浊仪在药敏试验中的应用

细菌是重要的病原微生物,人类针对不同的病原菌研发了各类抗菌药,这些药物对细菌性疾病的治疗与控制起到了关键作用。然而随着新型致病菌的不断出现,加上细菌在药物使用过程中逐渐产生了耐药性,抗菌药的防治效果越来越差。病原菌对…

Python 中的类与继承

类的定义以及实例的建立 Python中,类通过 class 关键字定义。 例如最简单的一个类定义可以为: class Person(object):pass Python 的编程习惯,类名以大写字母开头,紧接着是(object),表示该类是从哪个类继承下来的。…

解决单文件组件里的跨域请求数据问题(使用vue单文件组件请求数据必会遇到的问题!!!)

为什么要解决跨域问题: 因为浏览器有限制,只有同域名同端口号下的数据才能拿来用;那如果想拿到不同域名不同端口号下的数据就不行了; 在单文件组件中如何去解决跨域问题: 因为服务器没有跨域限制,只有浏览…

PyTorch(四)Torchvision 与 Transforms

文章目录Log一、Torchvision1. CIFAR10① 介绍② 使用2. 与 Transforms 结合使用总结Log 2022.11.28接着开启新的一章2022.11.29继续学习 一、Torchvision 视频教程中 Torchvision v0.9.0文档Torchvision 官方文档Torchvision Datasets API 文档 1. CIFAR10 ① 介绍 CIFAR…

HBuilder X实现banner轮播图

第一步还是去仔细阅读官方文档,找到组件下面的内置组件里面的swiper,如图所示 官方是提供了一个用来制作轮播图的滑块视图容器:swiper 一般来说,轮播图的图片地址是由后端返回给前端遍历显示在页面上的,所以基本的结构…

世界杯的“中国元素”昂扬大国担当,点面科技全新推出的多模态多功能移动终端踏上卡塔尔征途!

本次世界杯中国足球队没有参加,但是在世界杯的赛场上到处都有中国元素。 中国承建的卢赛尔体育场 卡塔尔世界杯主体育场——卢赛尔球场由中国铁建以总承包身份承建,引发了全球瞩目。在本届世界杯赛事中,该场馆将承担包括决赛在内的10场比赛&…

idea手动创建webapp(在main文件夹下)

SSM自学笔记 文章目录一、Maven使用正常情况首先不使用骨架创建好Maven项目然后选择Project Structure...选择要创建webapp的模块修改路径二、Maven不正常工作时一、Maven使用正常情况 首先不使用骨架创建好Maven项目 然后选择Project Structure… 选择要创建webapp的模块 选好…

前置微小信号放大器在光声技术的血管识别研究中的应用

实验名称:前置微小信号放大器在光声技术的血管识别研究中的应用 研究方向:生物识别技术 测试目的: 利用MATLAB对光声血管进行识别:1、对光声血管图库的图像进行预处理包括归一化、二值化、平滑、细化和毛刺修剪得到细化图像&#…

0109 蓝桥杯真题12

/* * 观察下面的现象,某个数字的立方,按位累加仍然等于自身。 * 1^3 1 * 8^3 512 5128 * 17^3 4913 491317 ... *请你计算包括1,8,17在内,符合这个性质的正整数一共有多少个? *填写该数字,不要填写任何多余的内…

【DevPress】V2.4.3版本发布,增加内容收录管理

DevPress V2.4.3版本于2022年11月10日发版,增加内容收录模块,方便用户内容收录。 一、该版本功能包含 1、新需求 1)控制台增加内容收录管理模块,包括收录内容额度管理、自动收录功能、基于内容搜索做收录以及收录内容列表。 - …

凯利公式 - Kelly formula

欢迎关注沉睡者IT,点上面关注我 ↑ ↑ 凯利公式的概述 凯利公式是一条可应用在投资资金和赌注的公式。应用于多次的随机赌博游戏,资金的期望增长率最高,且永远不会导致完全损失所有资金的后果。它假设赌博可无限次进行,而且没有下…

Netty进阶——粘包与半包(滑动窗口)

TCP 以一个段(segment)为单位,每发送一个段就需要进行一次确认应答(ack)处理,但如果这么做,缺点是包的往返时间越长性能就越差。 为了解决此问题,引入了窗口概念,窗口大小…

微慕积分商城插件

微信小程序专业版在第一个正式版发布的时候,就推出了积分系统。用户登录小程序、签到、发表文章、评论文章、发表话题、回复话题、点赞、赞赏、付费阅读后都可以获得相应的积分。但这个积分攒了足够多后,有什么用呢?可以用于积分阅读文章&…

论文代码测试

一、代码所属论文 1. Document Image Enhancement with GANs - TPAMI journal 代码中的介绍提供了处理四种情况的模型,这四种模型功能分别为 : 1)二值化图片文字; 2)清晰化图片中模糊文字; 3)去除图片水印; 4&…