首页 > 其他 > 详细

字典dict

时间:2020-11-22 13:05:28      阅读:24      评论:0      收藏:0      [点我收藏+]

数据类型: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)

技术分享图片


 

字典dict

原文:https://www.cnblogs.com/REN-Murphy/p/14018733.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!