上一篇说了整型、浮点型、列表和元组,这篇主要记录字典的学习。
字典和字典操作
字典也是开发过程中最常用的一种数据类型。如果需要存储一个班学生的信息,每个学生有姓名、性别、年龄、住址等等的信息,如果用列表存储,需要很多列表。这时候就需要用字典来定义了。字典,dict,dictionary。
names = ['Amy','Lily','Ben'] infos = [[18,'female','北京'],[17,'female','天津'],[21,'male','上海']]
1、字典定义
字典是一种key-value的数据类型,使用{}定义,每个值用“,”分开,key和value用“:”分隔。
如上述举例将一个班学生的信息可以写入一个字典中,学生的编号为key,学生的信息为value。
1 infos = { 2 'Amy':[18,'female','北京'], 3 'Lily':[17,'female','天津'], 4 'Ben':[21,'male','上海'] 5 } 6 print(infos['Amy'])
字典的特点:
(1) 取数据方便
(2) 查找速度快
为什么字典查找的速度快呢?
如果用列表存储班级学生信息,那么需要查询一个学生信息时,需要先从names中找到他的位置,再从infos中找到他的信息,如果列表越长,查询速度会越慢。
用字典实现的话,只需要一个名字和信息对应的一个表,这样很快能根据名字找到它对应的信息,无论表有多大,查找速度都不会慢。
这和查字典是一样的。如果查一个字,是从第一页翻到最后一页,那么字典约大,查询速度越慢,这种方法就是在list中查找元素的方法。另一种方法是在字典的索引里找到字的对应页码,然后直接翻到那一页找到字,无论找哪个字都很快,不会随着字典变大而变慢,这就是字典的实现方式。
字典的特性:
(1) 字典是无续的,因为它没有下标,用key来当索引。
(2) 字典的key必须是唯一的,key不能重复,天生去重。
2、字典操作
(1) 增加:赋值,setdefault()
(2) 删除:pop(),popitem(),del, clear()
(3) 修改:赋值
(4) 查找:get(), 直接取值
3、字典内置方法
keys(), values(), items(), get(), setdefault(), update()
4、多重字典
5、字典的循环
直接循环一个字典的话,那么循环的是字典的key