字典的定义
使用{},不过存储的元素是一个个的:键值对,如下语法:
使用{}存储原始,每一个元素是一个键值对
每一个键值对包含Key和Value(用冒号分隔)
键值对之间使用逗号分隔
Key和Value可以是任意类型的数据(key不可为字典)
Key不可重复,重复会对原有数据覆盖
字典不可用下标索引,而是通过Key检索Value
字典数据的获取
字典同集合一样,不可以使用下标索引
字典可以通过Key值来取得对应的Value
my_dict={"A":100,"B":80,"C":60} print(my_dict["A"]) print(my_dict["B"]) print(my_dict["C"])
100
80
60
字典的嵌套
字典的Key和Value可以是任意数据类型(Key不可为字典) 那么,就表明,字典是可以嵌套的
内容获取类似于二维数组
my_dict = { "sorce":{"A":77,"B":66,"C":33}, "level":{"A":88,"B":86,"C":55}, "grade":{"A":99,"B":96,"C":66} } print(my_dict["sorce"]) print(my_dict["sorce"]["A"]) print(my_dict["grade"]["C"])
{'A': 77, 'B': 66, 'C': 33}
77
66
字典的各种操作
新增与更新元素 [Key] = Value
语法:字典[Key] = Value,结果:字典被修改,新增了元素
注意:字典Key不可以重复,所以对已存在的Key执行上述操作,就是更新Value值
my_dict={"A":100,"B":80,"C":60} my_dict["D"]=40#新增加内容 print(my_dict) my_dict["B"]=88#更新已有内容 print(my_dict)
{'A': 100, 'B': 80, 'C': 60, 'D': 40}
{'A': 100, 'B': 88, 'C': 60, 'D': 40}
删除元素 pop和del
语法:字典.pop(Key),结果:获得指定Key的Value,同时字典被修改,指定Key的数据被删除
del 字典[key] 为直接删除
my_dict={"A":100,"B":80,"C":60} value=my_dict.pop("A") print(value) print(my_dict) del my_dict["B"] print(my_dict)
100
{'B': 80, 'C': 60}
{'C': 60}
清空字典 clear
语法:字典.clear(),结果:字典被修改,元素被清空
my_dict={"A":100,"B":80,"C":60} my_dict.clear() print(my_dict)
{}
获取全部的键 keys
语法:字典.keys(),结果:得到字典中的全部Key
my_dict={"A":100,"B":80,"C":60} k=my_dict.keys() print(k) print(my_dict)
dict_keys(['A', 'B', 'C'])
{'A': 100, 'B': 80, 'C': 60}
遍历字典
keys()
语法:for key in 字典.keys()
字典不支持下标索引,所以同样不可以用while循环遍历
my_dict={"A":100,"B":80,"C":60} for key in my_dict.keys(): print(f"等级:{key},分数:{my_dict[key]}")
等级:A,分数:100
等级:B,分数:80
等级:C,分数:60
values ()
my_dict={"A":100,"B":80,"C":60} for i in my_dict.values(): print(i)
100
80
60
items()
my_dict={"A":100,"B":80,"C":60} for i in my_dict.items(): print(i) print(type(i)) print(type(my_dict.items()))
('A', 100)
('B', 80)
('C', 60)
<class 'tuple'>
<class 'dict_items'>
利用items依次打印key和value
my_dict={"A":100,"B":80,"C":60} #4.依次打印key和value,通过索引 for key,value in my_dict.items(): print(key,value)
A 100
B 80
C 60
容器通用功能总览