一、什么是字典

字典是可以存储键值对( key=>value 对用冒号 )的容器。每一个键与一个值相关联,键和值之间用冒号分隔,而键-值对之间用逗号分隔,一个字典可以存储多个键值对

实例:存储一个键值对的字段,key=name,value=linda

student={"name": "linda"}

二、字典的查询、添加、修改、删除

1、查询:获取与键相关联的值,可指定字典名并把相应的键放入到方括号

实例:定义字典student ,查询键'name'对应的值'linda'

>>> student={'name': 'linda'}
>>> print(student['name'])
linda

 get() 函数可返回指定键的值

>>> student={'name': 'linda'}
>>> print(student.get("name"))
linda

2、添加键值对:可指定字典名,用方括号括起来的键和相关联的值

实例:定义字典student ,包含键值对'name': 'linda',在student中添加键值对'sex': '女'

>>> student={'name': 'linda'}
>>> student['sex']='女'
>>> print(student)
{'name': 'linda', 'sex': '女'}

3、修改:可指定字典名,用方括号括起来的键和该减相关联的新值

实例:修改字典student 中的键 'name'的值 'linda' 改为 'daise'

>>> student={'name': 'linda'}
>>> student['name']='daise'
>>> print(student)
{'name': 'daise'}

4、删除

del()可指定字典名删除不需要的键值对(删除的键值对就永远消失了)

实例:删除字典student 中的键值对: 'name': 'linda'

>>> student ={'name': 'linda', 'sex': '女'}
>>> del student["name"]
>>> print(student)
{'sex': '女'}

pop() 方法删除字典给定键 key 及对应的值,返回值为被删除的值。key 值必须给出。 否则,返回 default 值 

实例:删除字典student 中的键值对:'sex': '女'

>>> student ={'name': 'linda', 'sex': '女'}
>>> pop_obj = student.pop("sex")
>>> print(pop_obj)
{'name': 'linda'}

三、遍历字典

1、items() 函数以列表返回可遍历的(键, 值) 元组数组

>>> dict1 = {'Google': 'www.google.com', 'Runoob': 'www.runoob.com', 'taobao': 'www.taobao.com'}
>>> print("字典值 : %s" % dict1.items())
字典值 : dict_items([('Google', 'www.google.com'), ('Runoob', 'www.runoob.com'), ('taobao', 'www.taobao.com')])

2、遍历所有的键值对:声明两个变量,用于存储键和值,for循环会依次将每个键值对存到声明的两个变量中(遍历字典时,键值对的返回顺序可能与存储顺序不同)

>>> dict1 = {'Google': 'www.google.com', 'Runoob': 'www.runoob.com', 'taobao': 'www.taobao.com'}
>>> for key, values in dict1.items():
>>>     print(key, values)
Google www.google.com
Runoob www.runoob.com
taobao www.taobao.com

3、遍历字典中的所有键:字典名.keys()

实例:只打印出键

>>> dict1 = {'Google': 'www.google.com', 'Runoob': 'www.runoob.com', 'taobao': 'www.taobao.com'}
>>> for values in dict1.keys():
>>>     print(values)
Google
Runoob
taobao

4、遍历字典中所有的值:字典名.values(),返回值列表,不包含任何键

实例:只打印出键对应的值

>>> dict1 = {'Google': 'www.google.com', 'Runoob': 'www.runoob.com', 'taobao': 'www.taobao.com'}
>>> for values in dict1.values():
>>>     print(values)
www.google.com
www.runoob.com
www.taobao.com

四、嵌套

1、将字典存储在字典中,可以创建两个字典,将字典放到列表中

>>> mydic = {"name": "xiaojiaoao", "sex": "女", "age": "25"}
>>> herdic = {"name1": "tj", "sex1": "男", "age1": "25"}
>>> mydic = [mydic,herdic]
>>> print(mydic)
[{'name': 'xiaojiaoao', 'sex': '女', 'age': '25'}, {'name1': 'tj', 'sex1': '男', 'age1': '25'}]

2、将列表存储在字典中

>>> languages = {
>>>     "xiaojiaoao": ['python', 'java', 'js'],
>>>     "tj": ['python', 'java'],
>>>     "daiwei": ['python', 'java', 'C'],
>>> }
>>> for k,v in languages.items():
>>>     for language in v:
>>>         print(language)

python
java
js
python
java
python
java
C

3、在字典中存储字典

>>> users = {
>>>     "mydic": {"name": "tangjin", "sex": "女", "age": "25"},
>>>     "herdic": {"name": "jiang", "sex": "男", "age": "25"}
>>> }
>>> for k, v in users.items():
>>>     print("users:"+k)
>>>     print("name:" + v['name'])
users:mydic
name:tangjin
users:herdic
name:jiang

4、合并字典,用字典名.update(合并的字典名),注意:字典的key是惟一的

>>> mydic = {"name": "小骄傲", "sex": "女", "age": "25"}
>>> herdic = {"name1": "tj", "sex1": "男", "age1": "25"}
>>> mydic.update(herdic)
>>> print(mydic)
{'name': '小骄傲', 'sex': '女', 'age': '25', 'name1': 'tj', 'sex1': '男', 'age1': '25'}

五、函数的使用

1、has_key判断是否有这个key,如果键在字典 dict 里返回 true,否则返回 false,python3不支持

>>> student={'name': 'linda'}
>>> print(student.has_key("name"))
True

2、items() 函数以列表返回可遍历的(键, 值) 元组数组

>>> dict1 = {'Google': 'www.google.com', 'Runoob': 'www.runoob.com', 'taobao': 'www.taobao.com'}
>>> print("字典值 : %s" % dict1.items())
字典值 : dict_items([('Google', 'www.google.com'), ('Runoob', 'www.runoob.com'), ('taobao', 'www.taobao.com')])