Python字典类型
Python中用字典类型实现字典查找功能
-姓名,英语单词这类用于查找的特征字(关键字)
-Python中字典是:键---值(内容)的对应关系
字典的创建
Python 使用{}来定义字典
格式
名称={key:value,...}
名称:字典的键值,用于查找的依据
同一字典中需要唯一,必须为不可变内容
同一个字典中,key不能重复,无先后顺序,不可变
-value:键值对应的内容,在key的后面
-key和value用:分隔
每组 key:value视为字典的一个元素
字典每个元素中间用,分割
字典内可以没有内容,空字典
字典使用注意事项
-序列运算无效(有序合并,切片)
-对新的索引(key)赋值,会添加新的元素到字典
-键不一定总是字符串(可以是任意不可变类型,如元组)
-访问的键不存在,会报错
举例:【在Ubuntu终端操作】
>>> d={"zhang":"1854524552","wang":"16554455","li":"1245454"}
>>> d
{'wang': '16554455', 'li': '1245454', 'zhang': '1854524552'}
字典定义:
-字典的key(键)必须是不可变类,不能重复
-值可以是任意类型
查询字典的值
-通过[key]的方式查询值
>>> d
{'wang': '16554455', 'li': '1245454', 'zhang': '1854524552'}
>>> d["zhang"]
'1854524552'
d[key]方式查找字典的值,key必须要在字典中存在
通过[key]方式增加字典元素
d[key]=value
>>> d['zhu']='1545412345'
>>> d
{'wang': '16554455', 'zhu': '1545412345', 'li': '1245454', 'zhang': '1854524552'}
此方式为字典增加元素,要保证增加的key之前在字典中不存在,如果存在则替换该key对应的原来的值
通过[key]方式替换字典元素(更新)
d[key]=value
>>> d
{'wang': '16554455', 'zhu': '1545412345', 'li': '1245454', 'zhang': '1854524552', 'hai': '154545'}
>>> d['hai']='zzzzzz'
>>> d
{'wang': '16554455', 'zhu': '1545412345', 'li': '1245454', 'zhang': '1854524552', 'hai': 'zzzzzz'}
此方式要保证key在字典中存在,不存在则添加新元素
使用del删除字典元素,或者删除字典
-del d[key]
>>> d
{'wang': '16554455', 'zhu': '1545412345', 'li': '1245454', 'zhang': '1854524552', 'hai': 'zzzzzz'}
>>> del d['zhu']
>>> d
{'wang': '16554455', 'li': '1245454', 'zhang': '1854524552', 'hai': 'zzzzzz'}
字典的in运算
-检测key是否在字典中存在
-注意:是key!
>>> d
{'wang': '16554455', 'li': '1245454', 'zhang': '1854524552', 'hai': 'zzzzzz'}
>>> 'li' in d
True
>>> 'zhu' in d
False
字典生成函数dict
dict()
-生成一个空的字典
dict(mapping)
-(key,value)对形式的初始化
dict(iterable)
-用可迭代对象初始化一个字典
>>> dict()
{}
>>> d=dict()
>>> d
{}
>>> d=dict(name="zhang",mod="1394154")
>>> d
{'name': 'zhang', 'mod': '1394154'}
>>> d
{'name': 'zhang', 'mod': '1394154'}
>>> e=dict([("name","zhang"),("mob","13564545")])
>>> e
{'name': 'zhang', 'mob': '13564545'}
>>> d
{'name': 'zhang', 'mod': '1394154'}
>>> e=dict(d)
>>> e
{'name': 'zhang', 'mod': '1394154'}
>>> id(d)
140657177345672
>>> id(e)
140657169938760
字典生成函数dict
>>> dict.fromkeys((1,2,3,4))
{1: None, 2: None, 3: None, 4: None}
>>> dict.fromkeys((1,2,3,4),"hello")
{1: 'hello', 2: 'hello', 3: 'hello', 4: 'hello'}