上手python之字典

举报
yd_249383650 发表于 2023/03/17 11:28:21 2023/03/17
【摘要】 ​ 为什么使用字典通过【字】  就能找到对应的【含义】 所以,我们可以认为,生活中的字典就是记录的一堆: 【字】:【含义】 【字】:【含义】 ......Python中字典和生活中字典十分相像:Key: ValueKey: Value 可以按【Key】找出对应的【Value】老师有一份名单,记录了学生的姓名和考试总成绩。​编辑现在需要将其通过Python录入至程序中,并可以通过学生姓名检索学...

 为什么使用字典


通过【字】  就能找到对应的【含义】 

所以,我们可以认为,生活中的字典就是记录的一堆: 【字】:【含义】 【字】:【含义】 ......

Python中字典和生活中字典十分相像:

Key: Value

Key: Value 

可以按【Key】找出对应的【Value】

老师有一份名单,记录了学生的姓名和考试总成绩。

编辑

现在需要将其通过Python录入至程序中,并可以通过学生姓名检索学生的成绩。

使用字典最为合适:

编辑

可以通过Key(学生姓名),取到对应的Value(考试成绩)

所以,为什么使用字典?     因为可以使用字典,实现用key取出Value的操作 

字典的定义

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

使用{}存储原始,每一个元素是一个键值对

每一个键值对包含Key和Value(用冒号分隔)

键值对之间使用逗号分隔 Key和Value可以是任意类型的数据(key不可为字典)

Key不可重复,重复会对原有数据覆盖 

前文中记录学生成绩的需求,可以如下记录:

编辑

字典数据的获取 

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

但是字典可以通过Key值来取得对应的Value

编辑

字典的嵌套 

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

那么,就表明,字典是可以嵌套的

需求如下:记录学生各科的考试信息

编辑

编辑

编辑

嵌套字典的内容获取,如下所示:

编辑

 字典的注意事项

键值对的Key和Value可以是任意类型(Key不可为字典)

字典内Key不允许重复,重复添加等同于覆盖原有数据

字典不可用下标索引,而是通过Key检索Value 

字典的常用操作 

 新增元素     

语法:字典[Key] = Value,结果:字典被修改,新增了元素

编辑

更新元素   

 语法:字典[Key] = Value,结果:字典被修改,元素被更新     

注意:字典Key不可以重复,所以对已存在的Key执行上述操作,就是更新Value值 

编辑

 删除元素   

 语法:字典.pop(Key),结果:获得指定Key的Value,同时字典被修改,指定Key的数据被删除

编辑

清空字典   

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

编辑

获取全部的key     

语法:字典.keys(),结果:得到字典中的全部Key 

编辑

遍历字典     

语法:for key in 字典.keys() 

编辑

注意:字典不支持下标索引,所以同样不可以用while循环遍历 

计算字典内的全部元素(键值对)数量     

语法:len(字典)     结果:得到一个整数,表示字典内元素(键值对)的数量

编号

操作

说明

1

字典[Key]

获取指定Key对应的Value

2

字典[Key] = Value

添加或更新键值对

3

字典.pop(Key)

取出Key对应的Value并在字典内删除此Key的键值对

4

字典.clear()

清空字典

5

字典.keys()

获取字典的全部Key,可用于for循环遍历字典

6

len(字典)

计算字典内的元素数量

经过上述对字典的学习,可以总结出字典有如下特点:

可以容纳多个数据

可以容纳不同类型的数据

每一份数据是KeyValue键值对

可以通过Key获取到Value,Key不可重复(重复会覆盖)

不支持下标索引

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

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


列表

元组

字符串

集合

字典

元素数量

支持多个

支持多个

支持多个

支持多个

支持多个

元素类型

任意

任意

仅字符

任意

Key:Value

Key:除字典外任意类型

Value:任意类型

下标索引

支持

支持

支持

不支持

不支持

重复元素

支持

支持

支持

不支持

不支持

可修改性

支持

不支持

不支持

支持

支持

数据有序

使用场景

可修改、可重复的一批数据记录场景

不可修改、可重复的一批数据记录场景

一串字符的记录场景

不可重复的数据记录场景

以Key检索Value的数据记录场景

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。