数据类型:int整型 float浮点数 bool布尔值 str字符串 list列表 tuple元组 dict字典 set集合
可变数据类型:
字典、列表、集合、自定义的对象等
不可变数据类型:
数字、字符串、元组、function等
字典:
1.字典的定义形式(key键 value值)
字典中通过"键对象"找到对应的"值对象"
dict1 = {key1:value1,key2:value}
CN:China
JP:Japan
US:America
key 具有唯一性,一般情况下使用字符串表示
country = {"CN":"China","JP":"Japan","US":"America"} print("country = {}\t数据类型为:{}".format(country,type(country))) # key具有唯一性,如果出现重复的key,后面的值会把前面的覆盖掉 country1 = {"CN":"China","JP":"Japan","US":"America","JP":123} print("country1 = {}\t数据类型为:{}".format(country1,type(country1)))
2.元素的访问 dict1[key1]
# 使用列表进行数据存储 stu1_list = ["2020110157","任先生",23,"男"] # 使用字典进行数据存储 stu1_dict = {"sn":"2020110157","name":"任先生","age":23,"sex":"男"} # 元素的访问 print("%s的年龄为:%d"%(stu1_dict["name"],stu1_dict["age"])) print("{}的性别为:{}".format(stu1_dict["name"],stu1_dict["sex"]))
3.元素的常用方法
增
students[key] = value
(value可以为任意类型,元组,列表,字典都可以)
students = {} # 插入操作 # 学号sd,学生信息的key键对象 sd =input("请输入学生学号:") # 姓名name,分数score,学生信息的value值对象 name = input("请输入学生姓名:") score = int(input("请输入学生分数:")) # # student数据类型为列表 # student = [name,score] student = {"name":name,"score":score} students[sd] = student print("students = ",students)
删
pop(key)
删除键对象为key的value值,如果key值存在,则删除操作;没有找到要删除的key值,则会报错 keyError
del students[key]
删除键对象为key的value值,如果key值存在,则删除操作;没有找到要删除的key值,则会报错 keyError
注意:
keyError:没有要删除元素的时候,报错
students = {"001":{"name":"张楚岚","score":"80"},"002":{"name":"诸葛青","score":"85"}} print("studens = ",students) # 删除操作 del_sd = input("请输入要删除的学生学号:") # # pop 删除键对象为key的value值 # students.pop(del_sd) del students[del_sd] print("students = ",students)
改
key唯一,二次赋值的时候,新值覆盖旧值
students[key] = new_value
students = {"001":{"name":"张楚岚","score":"80"},"002":{"name":"诸葛青","score":"85"}} print("studens = ",students) # 修改操作 updata_sd = input("请输入要修改的学生学号:") update_name = input("请输入新的名字:") update_score = int(input("请输入新的分数:")) # 生成新的学生信息,并进行修改/覆盖 new_students = {"name":update_name,"score":update_score} students[updata_sd] = new_students print("修改之后的students学生信息:") print("students = ",students)
查
in
not in
4.元素的遍历
第一种遍历方法
country = {"CN":"China","JP":"Japan","US":"America"} all_keys = country.keys() print("all_keys = {0}\t数据类型为:{1}".format(all_keys,type(all_keys))) # 遍历key键对象 print("遍历键对象key:") for key_1 in all_keys: print(key_1,end="\t") all_values = country.values() print("\n\nall_values = {0}\t数据类型为:{1}".format(all_values,type(all_values))) # 遍历value值对象 print("遍历值对象value:") for value_1 in all_values: print(value_1,end="\t")
第二种遍历方法
country = {"CN":"China","JP":"Japan","US":"America"} for keys,values in country.items(): print(keys,values)
注意:
可以用zip两个列表/元组合成一个字典
# zip()创建字典 key = ["id","name","specialty"] value_1 = ["001","王也","风后奇门"] students = dict(zip(key,value_1)) print(students)
原文:https://www.cnblogs.com/REN-Murphy/p/14018733.html