当前位置: 首页 > news >正文

4.11 python 字典

Python数据类型第1种:字符串(str),用引号括起来的内容。
Python数据类型第2种:整数(int)。
Python数据类型第3种:浮点数(float),含有小数点的数。
Python数据类型第4种:列表(list),用方括号[ ]表示。
Python数据类型第5种:元组(tuple),用圆括号( )表示。
Python数据类型第6种:字典(dict),用大括号{ }表示。

4.11.1 字典的概念

列表、元组存储的是有序数据,有序是指按0、1、2、3的顺序依次排列。
字典存储的是具有映射关系的数据,映射可以理解成一种对应关系。
列表、元组存储的数据称为元素。
字典存储的数据称为键值对,是无序的序列。
字典用{ }表示,键值对之间用英文逗号 , 分隔,键与值之间用英文冒号 : 分隔。
字典是可变的数据类型,可以增删改键值对。
注意:dict 作为 Python 的关键字和内置函数,变量名不建议命名为 dict。
dictionary[ˈdɪkʃənri]:字典
字典语法如下图所示:

在这里插入图片描述

4.11.2 新建字典

# 新建一个空字典:
empty_dict = { }

新建一个存储个人信息的字典

# 新建一个字典
info_dict = { '姓名':'白敬亭','出生日期':'1993年10月15日'}

# 查看字典
info_dict

【终端输出】

{'姓名': '白敬亭', '出生日期': '1993年10月15日'}

上面的字典中有两个键值对,‘姓名’: '白敬亭’是第一个,‘出生日期’: '1993年10月15日’是第二个。
'姓名’是键,'白敬亭’是键的值。

4.11.3 增加键值对

语法:字典[键]=[值]

# 新建一个字典
info_dict = { '姓名':'白敬亭','出生日期':'1993年10月15日'}

# 增加一个键值对:身高188.8
info_dict['身高'] = 188.8

# 查看字典
info_dict

【终端输出】

{'姓名': '白敬亭', '出生日期': '1993年10月15日', '身高': 188.8}

4.11.4 删除键值对

语法:del 字典[键]
del 后有空格。
delete [dɪˈliːt]:删除。

# 新建一个字典
info_dict = { '姓名':'白敬亭','出生日期':'1993年10月15日'}

# 删除一个键值对:出生日期
del info_dict['出生日期'] 

# 查看字典
info_dict

【终端输出】

{'姓名': '白敬亭'}

4.11.5 值的修改

语法:字典[键]=[新值]

# 新建一个字典
info_dict = {'姓名': '白敬亭', '出生日期': '1993年10月15日', '身高': 188.8}

# 修改身高为180
info_dict['身高'] = 180

# 查看字典
info_dict

【终端输出】

{'姓名': '白敬亭', '出生日期': '1993年10月15日', '身高': 180}

4.11.6 字典值的提取

方法一:字典[键]
方法二:字典.get(键)
方法三:字典[键1][键2]

方法一:字典[键]

# 新建一个字典
info_dict = {
    '基本情况':('白敬亭','男','1993年'),
    '个人爱好':['健身','游泳'],
    '联系方式':{'微信号码':'bjt77','电话号码':18087578757}
}

# 查看字典的个人爱好
info_dict['个人爱好']

【终端输出】

['健身', '游泳']

用info_dict[‘个人爱好’]就可以查看到字典键个人爱好的值健身、游泳。

方法二:字典.get(键)

# 新建一个字典
info_dict = {
    '基本情况':('白敬亭','男','1993年'),
    '个人爱好':['健身','游泳'],
    '联系方式':{'微信号码':'bjt77','电话号码':18087578757}
}

# 查看字典的个人爱好
info_dict.get('个人爱好')

【终端输出】

['健身', '游泳']

方法三:字典[键1][键2]

# 新建一个字典
info_dict = {
    '基本情况':('白敬亭','男','1993年'),
    '个人爱好':['健身','游泳'],
    '联系方式':{'微信号码':'bjt77','电话号码':18087578757}
}

# 查看微信号码
info_dict['联系方式']['微信号码']

【终端输出】

'bjt77'

字典的值也是字典,用字典[键1][键2]的方式取值。

4.11.7 键和值的数据类型

# 新建一个字典
info_dict = {
    '基本情况':('白敬亭','男','1993年'),
    '个人爱好':['健身','游泳'],
    '联系方式':{'微信号码':'bjt77','电话号码':18087578757}
}

# 查看字典
info_dict

【终端输出】

{'基本情况': ('白敬亭', '男', '1993年'),
 '个人爱好': ['健身', '游泳'],
 '联系方式': {'微信号码': 'bjt77', '电话号码': 18087578757}}

上述字典中有3个键值对:
第一个键基本情况的值为元组,小括号表示元组:
第二个键个人爱好的值为列表,中括号表示列表;
第三个键联系方式的值为字典,大括号表示字典。

字典中的键是不可变的数据类型,例如字符串;
字典中的值可以是任意数据类型。
大家可以自己编写代码测试。

4.11.7 总结

在这里插入图片描述

课后练习

创建一个包含下面内容的字典:
某年级有3个班,一班、二班、三班;
一班50人,平均分70分,最高分88,最低分66;
二班60人,平均分80分,最高分99,最低分77;
三班70人,平均分90分,最高分99,最低分88。

相关文章:

  • 4.12 input( ) 输入函数 及注释
  • 4.13 Python 索引与切片
  • 4.14 python 字符串的拼接及格式化(.format)
  • ggplot画 ump 和tsne 从seurat中使用addmodule得到的umap 使用ggplot画图
  • 5.1 Python 算术运算符
  • ggplot画梯度颜色图 不同颜色 对seurat的细胞类型进行inflammatory 炎症打分 addmodule
  • cell annotation细胞注释 给已经做成seurat对象的细胞统一改换名字 换标签 加标签
  • 5.2 Python 赋值运算符
  • 从pdf中提取文本 数据清洗
  • 5.3 Python 比较运算符
  • seurat的 addmodule循环画图 等同于基因的叠加图 识别细胞类型 空转与单细胞得到的marker基因联合
  • 5.4 Python 逻辑运算符
  • 矽肺的 柱状图 比例图 bar图
  • 6.1 Python 单分支结构 if语句
  • 把subset_data的子集重新放到总群allmerge中找marker基因 findallmarkers
  • HTTP--网络协议分层,http历史(二)
  • javascript数组去重/查找/插入/删除
  • Java程序员幽默爆笑锦集
  • Java基本数据类型之Number
  • java小心机(3)| 浅析finalize()
  • JS变量作用域
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • Service Worker
  • spring security oauth2 password授权模式
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 两列自适应布局方案整理
  • 前端性能优化——回流与重绘
  • 微信开放平台全网发布【失败】的几点排查方法
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • ​比特币大跌的 2 个原因
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • #Linux(make工具和makefile文件以及makefile语法)
  • #stm32驱动外设模块总结w5500模块
  • (2)Java 简介
  • (3)nginx 配置(nginx.conf)
  • (42)STM32——LCD显示屏实验笔记
  • (70min)字节暑假实习二面(已挂)
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (四)鸿鹄云架构一服务注册中心
  • (转) Face-Resources
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • .htaccess 强制https 单独排除某个目录
  • .NET Micro Framework初体验(二)
  • .netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项
  • .NET学习全景图
  • .NET中 MVC 工厂模式浅析
  • .pings勒索病毒的威胁:如何应对.pings勒索病毒的突袭?
  • .stream().map与.stream().flatMap的使用
  • 。Net下Windows服务程序开发疑惑