字典——从零开始学Python入门知识学习整理笔记(3)

从零开始学Python入门知识学习整理笔记(3)


前言

这里主要整理字典的基本知识

一、字典是什么

字典是一种可变容器模型,且可存储任意类型对象。整个字典包括在花括号 {} 中其中的元素称之为键值对,每个键值对用冒号分割,每个键值对之间用逗号分割。例如d={‘name’:‘Alex’,‘age’:3,‘study’:‘python’},其中‘name’,‘age’,'study’叫做键,‘Alex’,3,'python’叫做值,键和值组成键值对,形成一组对应关系。python3.6以上版本的字典在创建的时候会默认有排序。

二、使用步骤

1.字典的定义

可以直接使用d={ },定义一个空字典。直接再大括号里写入键值对。例如d1={‘name’:‘Alex’,‘age’:3,‘study’:‘python’}.
在这里插入图片描述
还有一种方法,可以使用dict()函数(原理类似于int()进行类型转换吧)
在这里插入图片描述
使用dict()定义字典并赋值的过程需要清晰的表明键与值的对应关系,例如:
在这里插入图片描述
在d3这个字典的定义中使用列表进行了定义,用元组来表示对应关系,也是可以的。

需要特别注意的是,字典中的键是不能重复的。如果使用直接定义的方法进行定义,那么重复的值会把先前的值覆盖。如果是用dict的方法进行定义,那么会报错,不会修改原有字典。但是,值是可以重复的。
在这里插入图片描述
另外,字典中的键必须要是不可变对象,也就是说,列表不能作为键,而元组是可以作为键的。
在这里插入图片描述

2.字典数据的读取与修改

读取字典数据

方法类似于列表中的索引方法,字典名加中括号中写上键,如图所示:
在这里插入图片描述
字典不是序列,其中的元素顺序是可以变化的。因此也就不能做切片等操作了。
字典的键值对个数可以用len()进行测量
字典中键的存在与否可以使用in进行查找,但是值是不能使用in的。
在这里插入图片描述
这里如果要读取的键在字典中没有,那么程序会报错。python中提供了另外一种读取字典数据的方法:字典名.get(),在括号里可以写入两个参数,一个是要查找的key值,另外一个是如果在找不到的情况下返回的值。
在这里插入图片描述
还有一种方法,setdefault() 方法可以根据 key 来获取对应 value 的值。setdefault() 方法总能返回指定 key 对应的 value;如果该键值对存在,则直接返回该 key 对应的 value;如果该键值对不存在,则先为该 key 设置默认的 value,然后再返回该 key 对应的 value。
在这里插入图片描述

字典数据的修改

可以直接进行赋值。如图:
在这里插入图片描述

字典中键值对的增加用update方法
在这里插入图片描述

字典中键值对的删除:
可以使用pop方法
在这里插入图片描述
类似于set方法,在使用pop的时候也可以规定未找到指定键时候的返回值
在这里插入图片描述
popitem可以把字典中最后的一个键值对进行删除
使用del 字典名[key]的方法
在这里插入图片描述

三、字典与列表对比

列表是一组任意类型的值,按照一定顺序组合而成的;而字典中的项没有特定顺序,以“键”为象征;
组成列表的值叫做元素,组成字典的值是键值对;
每一个元素被标识一个索引,第一个索引是0,序列的功能都能实现,也就是可以进行索引、切片、合并、删除等等操作,它们都是在原处进行修改列表,但是字典不能进行序列操作,但可以在远处修改,通过键映射到值;
列表查找和插入的时间随着元素的增加而增加,但是内存占用小,对比字典查找和插入的速度极快,不会随着key的增加而增加,但是会需要占用大量的内存


总结

本文梳理了字典的基本使用方法并和列表进行了对比。其实这两个比较类似,可以类比记忆。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值