




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
字典Python程序设计项目化教程目录字典概述定义字典获取字典的键值修改、添加、删除字典的键值对字典介绍
字典(Dictionary)是基础数据结构映射(Mapping)的一种。序列是按照顺序来存储数据的,而字典是通过键存储数据。字典的内部实现是基于二叉树(BinaryTree)的,数据没有严格的顺序。字典将“键”映射到“值”,通过“键”来调取数据。创建字典(1)创建字典 Python有两种方法可以创建字典,第一种是使用花括号,另一种是使用内建函数dict创建字典。创建字典info={}info输出结果:{}info=dict()info输出结果:{}info={"Flower_name":'Rose'}info输出结果:{'Flower_name':'Rose'}info=dict(Flower_name='Rose')info输出结果:{'Flower_name':'Rose'}获取字典的键值1)使用键查找单个字典的值
可以根据字典中的“键”来查找字典的“值”,利用“键”作为下标可以访问其对应的“值”,如果需要查找的“键”在字典中不存在,则会触发的一个KeyError异常。实现此操作的语法格式: dict[key]=value
参数含义:
dict:表示字典名称。
key:表示要查找的“值”的“键”。
value:表示查找到的“键”所对应的“值”。获取字典的键值info={'name':'Lena','age':28,'address':'beijing'}print(info['age'])输出结果:28示例:利用“键”查找去所对应的“值”。获取字典的键值2)使用get()方法查找键对应的值
如果不确定字典中是否存在某个“键”而又想获取其“值”时,可以使用get方法,还可以设置默认值。Python提供了get()方法返回给定“键”对应的“值”。如果“键”不存在,则返回设置的默认值。 get()方法的语法格式: dict.get(key,default=None)
其中
dict:表示字典名称。
key:要搜索在字典中的键。
default:要返回键不存在的的情况下默认值。获取字典的键值info={'name':'Lena','age':28,'address':'beijing'}print(info.get('age'))print(info.get('sex','NotExists'))输出结果:28NotExists示例:使用get()方法获取字典中的值。获取字典的键值3)使用setdefault()查找键对应的值 setdefault()函数与get()函数进行对比:get()函数在指定键不存在于字典中时,不会向字典中添加新的键。而setdefault()函数在指定键不存在于字典中时,会向字典中添加新的键,同时将该键的键值设为函数中定义的值,若函数中未定义default值,则以默认值None作为该键的键值。 setdefault()方法的语法格式: dict.setdefault(key[,default=None])
其中: dict:表示字典名称。 Key:字典中要查找的键。 Default:可选参数,如果指定键的值不存在时,返回该值,默认为None。获取字典的键值info={'name':'Lena','age':28,'address':'beijing'}print(info.setdefault('age'))print(info.setdefault('age1'))print(info)输出结果:28None{'name':'Lena','age':28,'address':'beijing','age1':None}示例:使用setdefault()方法获取字典中的值。获取字典的键值4)查询所有键、值以及键值对 Python通过keys()方法获取所有的键,返回列表;values()方法获取所有的值,返回列表;items()方法获取所有键值对,返回元组组成的列表。获取字典的键值info={'name':'Lena','age':28,'address':'beijing'}print(info.keys())print(info.values())print(info.items())输出结果:dict_keys(['name','age','address'])dict_values(['Lena',28,'beijing'])dict_items([('name','Lena'),('age',28),('address','beijing')])示例:查询字典中的所有键、值以及键值对。修改、添加、删除字典的键值对1)字典元素的改操作
字典是可变的数据结构,因此支持改操作。字典中的Key无法修改,只能修改Key对应的Value。如果要修改字典中指定Key的Value,可以通过为已存在的key赋予一个新的value或者通过调用update()方法修改指定Key的Value。修改、添加、删除字典的键值对info={"day":"15日(星期六)","date":"2023-04-15","week":"星期六","wea":"阴","tem":"25","tem1":"29","tem2":"23","humidity":"97%","visibility":"14.22km","pressure":"961"}info["day"]="15日(星期三)"info输出结果:{'day':'15日(星期三)','date':'2023-04-15','week':'星期六','wea':'阴','tem':'25','tem1':'29','tem2':'23','visibility':'14.22km','pressure':'961'}示例:为字典中已存在的Key赋予一个新的Value值修改字典中的值。修改、添加、删除字典的键值对update方法可以一次性修改多个Key的Value。需要将Key和新的Value值都传递给update方法,传递的参数可以是一个字典、列表、元组、关键字。使用update方法修改Key的Value,传递的参数可以是一个字典,在字典中声明要修改那些Key,以及Key对应的新Value。修改、添加、删除字典的键值对info={"day":"15日(星期六)","date":"2023-04-15","week":"星期六","wea":"阴","tem":"25","tem1":"29","tem2":"23","humidity":"97%","visibility":"14.22km","pressure":"961"}info.update({"day":"16日(星期日)","week":"星期日"})print(info)输出结果:{'day':'16日(星期日)','date':'2023-04-15','week':'星期日','wea':'阴','tem':'25','tem1':'29','tem2':'23','humidity':'97%','visibility':'14.22km','pressure':'961'}示例:调用update方法修改指定Key的Value。修改、添加、删除字典的键值对info={"day":"15日(星期六)","date":"2023-04-15","week":"星期六","wea":"阴","tem":"25","tem1":"29","tem2":"23","humidity":"97%","visibility":"14.22km","pressure":"961"}info.update([("day","16日(星期日)"),("week","星期日")])print(info)输出结果:{'day':'16日(星期日)','date':'2023-04-15','week':'星期日','wea':'阴','tem':'25','tem1':'29','tem2':'23','humidity':'97%','visibility':'14.22km','pressure':'961'}使用update方法修改Key的Value,传递参数可以为列表类型,列表中的每个元素都是元组类型,在元组中声明Key对应的新Value。修改、添加、删除字典的键值对info={"day":"15日(星期六)","date":"2023-04-15","week":"星期六","wea":"阴","tem":"25","tem1":"29","tem2":"23","humidity":"97%","visibility":"14.22km","pressure":"961"}info.update((("day","16日(星期日)"),("week","星期日")))print(info)输出结果:{'day':'16日(星期日)','date':'2023-04-15','week':'星期日','wea':'阴','tem':'25','tem1':'29','tem2':'23','humidity':'97%','visibility':'14.22km','pressure':'961'} 使用update方法修改Key的Value,传递参数为元组类型。修改、添加、删除字典的键值对info={"day":"15日(星期六)","date":"2023-04-15","week":"星期六","wea":"阴","tem":"25","tem1":"29","tem2":"23","humidity":"97%","visibility":"14.22km","pressure":"961"}info.update(day="16日(星期日)",week="星期日")print(info)输出结果:{'day':'16日(星期日)','date':'2023-04-15','week':'星期日','wea':'阴','tem':'25','tem1':'29','tem2':'23','humidity':'97%','visibility':'14.22km','pressure':'961'}使用关键字类型作为update方法传递的参数,关键字名称就是字典中现有Key的名称,关键字的值就是新的Value。修改、添加、删除字典的键值对2)字典元素的增操作字典是可变的数据结构,因此也支持增操作。如果我们想要在现有字典中增加元素Key-Value,常见的方式有两种:为不存在的Key直接赋予一个Value值。调用update方法在字典中添加新的Key-Value键值对。修改、添加、删除字典的键值对info={"day":"15日(星期六)","date":"2023-
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年专升本思政理论挑战试题及答案
- 注射用罗普司亭-药品临床应用解读
- 2024年思政理论的评估分析试题及答案
- 网络安全管理员-初级工题库含参考答案
- 马工学的决策分析工具试题及答案
- 汽车维修工高级工复习试卷复习试题有答案
- 汽车装调工练习卷附答案
- 2024-2025学年高中历史 第三单元 欧美资产阶级革命时代的杰出人物 第3课 一代雄狮拿破仑教学教学实录2 新人教版选修4
- 宠物殡葬行业的社会责任考核试题及答案
- 数学三-2018年全国硕士研究生入学考试《数学三》真题
- 第14课 明清时期的经济、科技与文化
- 2023年新概念英语第一册全册144课练习题打印版
- 上海市历年中考语文现代文阅读真题40篇(2003-2021)
- 基础教育改革专题课件
- 煤炭送货办法实施细则(二篇)
- 五年级(下)科学教科版全册全套单元期中期末检测卷(一)附答案
- 四大穿刺技术操作规范
- 金合CAD操作说明
- 第5课+古代非洲与美洲+高中历史统编版(2019)必修中外历史纲要下
- 土的承载比CBR试验JTG34302020
- 2022-2023学年四川省绵阳市绵阳中学高三1月月考语文试题(解析版)
评论
0/150
提交评论