字典是一种通过名字或者关键字引用的得数据结构,其键可以是数字、字符串、元组,这种结构类型也称之为映射。字典类型是Python中唯一內建的映射类型。字典可以理解为列表的升级版。
- dict是无序的
- key必须是唯一的,so 天生去重
例如:
1 info = { 2 'stu1101':"TengLan Wu" 3 'stu1102':"LongZe Luola" 4 'stu1103':"XiaoZe Maliya" 5 6 } 7 print(info) 8 9 info["stu1101"]="武藤兰" 10 print(info)
字典由key(键)和value(值)组成。用.keys和.values方法可以直接对字典进行查找。
例如:
1 info ={'stu1101':"TengLan Wu", 2 'stu1102':"LongZe Luola", 3 'stu1103':"XiaoZe Maliya", 4 } 5 6 print(info.values()) 7 print(info.keys())
对字典可以进行增删修改:
1 info ={'stu1101':"TengLan Wu", 2 'stu1102':"LongZe Luola", 3 'stu1103':"XiaoZe Maliya", 4 } 5 6 info["stu1104"]="ZhiTian ZhenZi" #增 7 info["stu1101"]="GaoShu MaLiYa" #改 8 del info["stu1101"] #删除的第一种方式 9 info.pop["stu1101"] #删除的第二种方式 10 info.get["stu1101"] #查找,如果不存在则会返回 Fales
.setdefault和.update方法的应用举例。
1、Python 字典 setdefault() 方法和 get() 方法类似,返回指定键的值,如果键不在字典中,将会添加键并将值设置为一个指定值,默认为None。
get() 和 setdefault() 区别: setdefault() 返回的键如果不在字典中,会添加键(更新字典),而 get() 不会添加键。
1 info ={'stu1101':"TengLan Wu", 2 'stu1102':"LongZe Luola", 3 'stu1103':"XiaoZe Maliya", 4 } 5 6 info2={ 7 'stu1103':"MaSheng Xi", 8 'stu1104':"CangMu MaYi", 9 'stu1105':"ZhiTian ZhenZi", 10 } 11 12 info.setdefault('stu1104',"LaiJing Du")#1104不存在info表内,所以会把1104的key和value值加到表中 13 info.setdefault('stu1103',"MaSheng Xi") #1103这个key已经存在在info表内,所以value值不会改变 14 print(info) 15 16 输出结果》》》》》 {'stu1101': 'TengLan Wu', 'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya', 'stu1104': 'LaiJing Du'}
2、Python 字典 update() 方法用于更新字典中的键/值对,可以修改存在的键对应的值,也可以添加新的键/值对到字典中。
用法与 Python dict() 函数相似。
1 info ={'stu1101':"TengLan Wu", 2 'stu1102':"LongZe Luola", 3 'stu1103':"XiaoZe Maliya", 4 } 5 6 info2={ 7 'stu1103':"MaSheng Xi", 8 'stu1104':"CangMu MaYi", 9 'stu1105':"ZhiTian ZhenZi", 10 } 11 12 info.update(info2) 13 print(info) 14 15 输出结果》》》》》{'stu1101': 'TengLan Wu', 'stu1102': 'LongZe Luola', 'stu1103': 'MaSheng Xi', 'stu1104': 'CangMu MaYi', 'stu1105': 'ZhiTian ZhenZi'} 16 17 ###stu1103的值被取代了
字典内的循环方法跟之前一样!