字典可以提供基于key检索Value的场景实现
字典的定义
定义字典变量:
dict_name = {key: value, key:value, ......,key: value}
定义空字典:
dict1 = {}
dict2 = dict()
注意:
键值对的Key和Value可以是任意类型(Key不可为字典)
字典内Key不可以重复,重复添加等于覆盖原有数据
字典的常用操作
新增元素
语法: 字典[Key]=Value
结果:字典被修改,新增了元素
#定义字典变量:
dict1 = {"python":666 ,"C":999, "Java":111}
print(f"新增前dict1为:{dict1}")
#新增
dict1["C++"] = 55
print(f"新增后dict1为:{dict1}")
'''
运行结果:
新增前dict1为:{'python': 666, 'C': 999, 'Java': 111}
新增后dict1为:{'python': 666, 'C': 999, 'Java': 111, 'C++': 55}
'''
更新元素
语法: 字典[Key]=Value
结果:字典被修改,元素被更新
#定义字典变量:
dict1 = {"python":666 ,"C":999, "Java":111}
print(dict1)
print(f"更新前C的Value为:{dict1['C']}")
#修改C的Value
dict1["C"] = 555
print(f"更新后C的Value为:{dict1['C']}")
'''
运行结果:
{'python': 666, 'C': 999, 'Java': 111}
更新前C的Value为:999
更新后C的Value为:555
'''
删除元素
语法:
字典.pop(Key)
结果:获得指定的Key的Value,同时字典被修改,指定Key的数据被删除
#定义字典变量:
dict1 = {"python":666 ,"C":999, "Java":111}
print(f"删除前dict1为:{dict1}")
#删除
str = dict1.pop("Java")
print(f"取出:{str}")
print(f"删除后dict1为:{dict1}")
'''
运行结果:
删除前dict1为:{'python': 666, 'C': 999, 'Java': 111}
取出:111
删除后dict1为:{'python': 666, 'C': 999}
'''
清空字典
语法:字典.clear()
结果:字典被修改,元素被清空
#定义字典变量:
dict1 = {"python":666 ,"C":999, "Java":111}
print(f"清空前dict1为:{dict1}")
#清空
dict1.clear()
print(f"清空后dict1为:{dict1}")
'''
运行结果:
清空前dict1为:{'python': 666, 'C': 999, 'Java': 111}
清空后dict1为:{}
'''
获取全部Key
语法:字典.keys()
结果:得到字典里全部的Key
dict1 = {"python":666 ,"C":999, "Java":111}
#获取全部Key
keys = dict1.keys()
print(f"全部Key为:{keys}")
'''
运行结果:
全部Key为:dict_keys(['python', 'C', 'Java'])
'''
对字典的遍历
字典不支持while循环遍历
通过获取到全部的Key来完成遍历
dict1 = {"python":666 ,"C":999, "Java":111}
#获取全部Key
keys = dict1.keys()
for key in keys:
print(f"key:{key},",end=" ")
print(f"value:{dict1[key]}")
'''
运行结果:
key:python, value:666
key:C, value:999
key:Java, value:111
'''
直接对字典进行for循环,每一次获得的都是key
dict1 = {"python":666 ,"C":999, "Java":111}
for key in dict1:
print(f"key:{key},",end=" ")
print(f"value:{dict1[key]}")
'''
运行结果:
key:python, value:666
key:C, value:999
key:Java, value:111
'''
统计字典内的元素数量
语法:len(字典)
dict1 = {"python":666 ,"C":999, "Java":111}
int_num = len(dict1)
print(f"dict1元素个数为:{int_num}")
'''
运行结果:
dict1元素个数为:3
'''