师从黑马程序员
字典的定义
同样使用{},不过存储的元素是以个个的:键值对,如下语法:
#定义字典
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["级别"]+=1employee_empl_inf["工资"]+=1000empl_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)}")
总结
若有侵权,请联系作者