一、什么是字典
字典是可以存储键值对( 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')])