python学习-07字典

张开发
2026/4/14 2:22:29 15 分钟阅读

分享文章

python学习-07字典
1字典的基本概念字典{ }是Python中唯一映射性数据结构(由关键字和值组成)1. 字典定义{key1:value, key2:value}key在字典中是唯一的2. 字典是一种可变的容器模型可以存储任意类型对象(元素可以是字典、列表、字符、数字等等)可变意味着可以修改增删改3. 字典在python3.6版本中是有序的数据结构即key是按照顺序排列的比较的是hash值使用场景对应关系定义了一个字典dict_m{key1:value1,key2:value2,key3:value3}可以通过指定key来获取对应的值dict_m[key1]注意必须是可以hash的对象才能做字典的key否则是不可以做字典的key的比如空列表[]2字典访问方式两种形式1. 访问单个元素d[key]2. 遍历字典for循环进行遍历3字典修改直接给对应关键字的值重新赋值即可语法d[key] value4字典相关函数1、创建字典①dict()创建空字典②dict(mapping)创建字典③二维列表每个子列表元素必须是两个[key,value]且key必须是可以hash的④列表与元组组合元组每个元素必须是两个⑤列表与字符串组合字符串长度必须是两个(只能拆解两个字符)-较少使用注意上述三种在dict()函数中都是在[ ]内进行赋值的⑥使用zip合并key和value再构建字典因为zip()返回的是一个 “一次性迭代器One-time Iterator”这里在上面已经把zip()的内容遍历完了所以取到的是空2、其他函数len是字典对象的个数sum/max/min均是对key进行的操作in/not in对key是否在字典中进行判别只有判别字典中是否存在key才会进行下一步操作5字典相关方法1、使用fromkeys生成字典根据可迭代对象创造字典语法dict.fromkeys(iterable, valueNone, /)主要参数1. iterable迭代对象每个元素可以hash【必须是不可变的】可以是数字、元祖、字符串但不可以是列表2. value设置每个key的默认值默认为None2、获取字典的key和value获取键获取值获取配对D.key()不支持修改如果想要对其进行处理可以转化为list:list(D.key())获取k和v的方法二是通过items()进行提取3、get方法【⭐】【字典的访问更推荐用get不太推荐直接访问】直接取值封装判别key是否存在不用自己写判断dict.get(key, defaultNone)获取key对应值若不存在返回default在取不在的key的值时的区别并且可以指定不存在时的返回值不报错4、setdefault方法在字典中添加元素语法dict.setdefault(self, key, defaultNone)添加规则若指定的key存在则不添加值若不存在则添加指定的值1. 如果key存在返回key对应的值不添加元素2. 如果key在字典中不存在在字典中添加元素{key:defatult}5、字典的删除①删除元素②删除一组默认从后向前删除一组一组删除③清空6、字典的更新①方式一直接添加直接给指定key赋值1. 更新D[k] E[k]2. 添加D[k] E[k]一样的②方式二使用update方法【⭐】语法D.update([E, ]\*\*F)更新或者添加多个元素 E为字典F为可迭代对象(k,v)【包含两步操作新字典中若有与原字典一样的key则用新字典中key对应的值替换原字典中的值新字典中较原字典多出来的元素则追加到原字典中以完成更新】6练习

更多文章