python学习(9)字典的基本应用

时间:2021-11-05 19:02:51

字典是一种通过名字或者关键字引用的得数据结构,其键可以是数字、字符串、元组,这种结构类型也称之为映射。字典类型是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的值被取代了

 

 

字典内的循环方法跟之前一样!