1.何为字典
字典是 Python 提供的一种常用的数据结构,主要用于存放具有映射关系的数据 。
比如保存某班同学的成绩单数据,张三:95分,李四:70分,王五:100分 ... ,因为姓名和成绩是有关联的,所以不能单独用两个列表来分别保存,这时候用字典来存储,再合适不过了 。
字典是一种可变的容器模型,它是通过一组键(key)值(value)对组成,这种结构类型通常也被称为映射,或者叫关联数组,也有叫哈希表的。每个key-value之间用“:”隔开,每组用“,”分割,整个字典用“{}”括起来 ,格式如下所示:
dictionary = {key1 : value1, key2 : value2 }
定义字典时,键在冒号前,值冒号后,键必须唯一性,值可以不唯一,如果键有相同,值则取最后一个;字典中的键具备唯一性,但值可重复。也就是说字典里不能同时包含两个'张三'的键,但却可以有两个同为95的值。
比如:
dict = {'pig':'猪','dog':'狗','cat':'猫','mouse':'鼠'}
2.访问字典的值
#提取字典的值
#格式:字典名[键名]
dict = {'pig':'猪','dog':'狗','cat':'猫','mouse':'鼠'}print(dict['mouse'])print(dict['cat'])print(dict['dog'])print(dict['pig'])
3.新增字典元素
#添加字典的值
#格式:字典名[键名]=值
dict = {'pig':'猪','dog':'狗','cat':'猫','mouse':'鼠'}dict['cow']='牛'print(dict)
4.修改字典元素
#修改字典的值
#格式:字典名[键]=值
注意:字典不允许同一个键出现两次。如果同一个键被赋值两次,后一个值会被记住。作用等同于修改了字典的值。
注意:字典不能像列表那样,用append去添加元素。
dict = {'pig':'猪','dog':'狗','cat':'猫','mouse':'鼠'}dict['cat']='丑丑的猫'print(dict)
5.删除字典元素
#删除字典元素
#格式一:del(字典名[要删除键名])
dict = {'pig':'猪','dog':'狗','cat':'猫','mouse':'鼠'}del(dict['cat'])print(dict)
#格式二:del 字典名[要删除键名]
dict = {'pig':'猪','dog':'狗','cat':'猫','mouse':'鼠'}del dict['pig']print(dict)
6.字典内置函数&方法
6.1 len(dict)计算字典元素个数,即键的总数。
#len函数,计算字典元素个数,即键的总数。
#格式:len(字典名)
dict = {'pig':'猪','dog':'狗','cat':'猫','mouse':'鼠'}len(dict)
6.2 get() 函数返回指定键的值,如果值不在字典中返回默认值
#get() 函数返回指定键的值,如果值不在字典中返回默认值
#格式dict.get(key, default=None)
#key -- 字典中要查找的键。
#default -- 如果指定键的值不存在时,返回该默认值值。
dict = {'pig':'猪','dog':'狗','cat':'猫','mouse':'鼠'}print(dict.get('dog'))print(dict.get('apple'))print(dict.get('apple','苹果'))
6.3 key in dict 查看字典内是否有这个键
#如果键在字典dict里返回True,否则返回False
dict = {'pig':'猪','dog':'狗','cat':'猫','mouse':'鼠'}'pig' in dict
dict = {'pig':'猪','dog':'狗','cat':'猫','mouse':'鼠'}'apple' in dict
6.4 keys() 获取字典键的数据,以列表形式返回
#查看字典内部所有键,生成类似range()函数,把它所有的"键"生成一个集合。
#格式:字典名.keys()
dict = {'pig':'猪','dog':'狗','cat':'猫','mouse':'鼠'}print(dict.keys())for i in dict.keys():#用for循环把每个键元素迭代输出 print(i)
6.5 values() 获取字典值的数据,以列表形式返回
#查看字典内部所有值,生成类似range()函数,把它所有的"值"生成一个集合。
#格式:字典名.values()
dict = {'pig':'猪','dog':'狗','cat':'猫','mouse':'鼠'}print(dict.values())for i in dict.values():#用for循环把每个值元素迭代输出 print(i)
6.6 items() 获取字典键值对数据,以列表形式返回
#查看字典内部所有键与值,生成类似range()函数,把它所有的"键,值"生成一个集合。
#格式:字典名.items()
dict = {'pig':'猪','dog':'狗','cat':'猫','mouse':'鼠'}print(dict.items())for i in dict.items():#用for循环把每个键值对元素迭代输出 print(i)
#查看字典内部所有键与值,生成类似range()函数,把它所有的"键,值"生成一个集合,并用两个参数被循环迭代,使得键值可以分开打印。
#格式:字典名.items()
dict = {'pig':'猪','dog':'狗','cat':'猫','mouse':'鼠'}for k,v in dict.items():#用for循环把每个键值对元素迭代输出 print('键是:'+k) print('值是:'+v)