师从黑马程序员
字典的定义
同样使用{},不过存储的元素是以个个的:键值对,如下语法:
#定义字典
my_dict1={"王力宏":99,"周杰伦":88,"林俊杰":77}
#定义空字典
my_dict2={}
my_dict3=dict()
print(f"字典1的内容是:{my_dict1},类型:{type(my_dict1)}")
print(f"字典2的内容是:{my_dict2},类型:{type(my_dict2)}")
print(f"字典2的内容是:{my_dict3},类型:{type(my_dict3)}")
#定义重复Key的字典
my_dict1={"周杰伦":99,"周杰伦":88,"林俊杰":77}
print(f"字典1的内容是:{my_dict1},类型:{type(my_dict1)}")
注:字典同集合一样,不可以使用下标索引
但是字典可以通过Key值来取得对应的Value
my_dict1={"王力宏":99,"周杰伦":88,"林俊杰":77}
score=my_dict1["王力宏"]
print(f"王力宏的考试分数为:{score}")
字典嵌套
字典的Key和Value可以是任意数据类型(Key不可为字典),即字典可以嵌套
stu_score_dict={
"王力宏":{
"语文":77,
"数学":66,
"英语":33
},"周杰伦":{
"语文":88,
"数学":86,
"英语":55
},"林俊杰":{
"语文":99,
"数学":96,
"英语":66
}
}
print(f"学生的考试信息是:{stu_score_dict}")
score=stu_score_dict["周杰伦"]["语文"]
print(f"周杰伦的语文分数:{score}")
字典的常用操作
新增元素
更新元素
my_dict={"周杰伦":99,"林俊杰":88,"张学友":77}
#新增元素
my_dict["张信哲"]=66
print(f"字典新增元素之后,结果:{my_dict}")
#更新元素
my_dict["周杰伦"]=33
print(f"字典在更新元素之后,结果是:{my_dict}")
删除元素
清空字典
#删除元素
score=my_dict.pop("周杰伦")
print(f"字典中被移除了一个元素,结果:{my_dict},周杰伦的考试分数是:{score}")
#清空元素 clear
my_dict.clear()
print(f"字典被清空了,内容是:{my_dict}")
获取全部的Key
my_dict={"周杰伦":99,"林俊杰":88,"张学友":77}
keys=my_dict.keys()
print(f"字典中全部的Key为:{keys}")
#遍历字典
#方式一:通过获取到全部的Key来完成遍历
for key in keys:
print(f"字典的key是:{key}")
print(f"字典的value是:{my_dict[key]}")
#方式二:直接对字典进行for循环,每一次循环都是直接得到key
for key in my_dict:
print(f"2字典的key是:{key}")
print(f"2字典的value是:{my_dict[key]}")
统计字典内的元素数量
my_dict={"周杰伦":99,"林俊杰":88,"张学友":77}
num=len(my_dict)
print(f"字典中的元素数量有:{num}")
总结
综合案例:
empl_inf = {
"王力宏": {
"部门": "科技部",
"工资": 3000,
"级别": 1
},
"周杰伦": {
"部门": "市场部",
"工资": 5000,
"级别": 1
},
"林俊杰": {
"部门": "市场部",
"工资": 7000,
"级别": 3
},
"张学友": {
"部门": "市场部",
"工资": 4000,
"级别": 1
},
"刘德华": {
"部门": "市场部",
"工资": 6000,
"级别": 2
}
}
print(f"全体员工信息如下:{empl_inf}")
# 遍历字典并更新符合条件的员工信息
for name in empl_inf:
if empl_inf[name]["级别"]==1:
employee_empl_inf=empl_inf[name]
employee_empl_inf["级别"]+=1
employee_empl_inf["工资"]+=1000
empl_inf[name]=employee_empl_inf
# 输出更新后的员工信息
print(f"全体员工更新后信息如下:{empl_inf}")
数据容器特点对比
数据容器的通用操作
容器的类型转换
容器通用排序功能
my_list=[3,1,2,5,4]
my_tuple=(3,1,2,5,4)
my_str="bdcefga"
my_set={3,1,2,5,4}
my_dict={"key3":1,"key":2,"key2":3,"key5":4,"key4":5}
print(f"容器对象排序的结果是:{sorted(my_list)}")#从小到大排序
print(f"容器对象排序的结果是:{sorted(my_tuple)}")
print(f"容器对象排序的结果是:{sorted(my_str)}")
print(f"容器对象排序的结果是:{sorted(my_set)}")
print(f"容器对象排序的结果是:{sorted(my_dict)}")
#排序的结果是列表
print(f"容器对象排序的结果是:{sorted(my_list,reverse=True)}")#从大到小排序
print(f"容器对象排序的结果是:{sorted(my_tuple,reverse=True)}")
print(f"容器对象排序的结果是:{sorted(my_str,reverse=True)}")
print(f"容器对象排序的结果是:{sorted(my_set,reverse=True)}")
print(f"容器对象排序的结果是:{sorted(my_dict,reverse=True)}")
总结
若有侵权,请联系作者