字典的使用

  • 字典:无序,key,value类型,key是唯一的
  • 字典的显示:
#简单字典显示
info={
    'stu1101':"ZhangSan",
    'stu1102':"LiSi",
    'stu1103':"WangWu",
    'stu1104':"WuTengLan",
}
  • 取值:
    print(info['stu1101']) #取值,但是这个方法若不存在的时候,会导致异常,不建议使用
print(info.get('stu1106'))#取值,若是不存在,则返回None
  • 增加/修改:若字典已有,则修改;若字段没有,则创建一个
info['stu1102'] = "李四"#若字段存在的时候,是修改内容,不存在则增加

  

  • 删除
  • 1 #删除,del是Python内置删除方法
    2 del info['stu1102']
    3 #pop删除方法
    4 info.pop('stu1101')
      
  • 查找
#查找是否在字典里存在
print('stu1103' in info)
  •  嵌套字典
 1 student = {
 2     "computer":{
 3         "cl1":["student1","student2"]
 4     },
 5     "language":{
 6             "cl1":["student1","student2"]
 7         },
 8     "law":{
 9             "cl1":["student1","student2"]
10         }
11 }
  • 修改/增加

 1 student["computer"]["cl1"][1] = "学生1" 

  • 显示值

 1 print(student.keys())#显示字典的key 2 print(student.values())#显示字典的值 

  • setdefault()
1 student.setdefault("computer",{"test1":["学生1","学生2"]})#查找字典是否存在,若存在,则打印这个,若不存在,则增加一个
  • update()
 1 nfo={
 2     'stu1101':"ZhangSan",
 3     'stu1102':"LiSi",
 4     'stu1103':"WangWu",
 5     'stu1104':"WuTengLan",
 6 }
 7 a = {
 8     "stu1101" :1,
 9     2:3,
10     4:5
11 }
12 info.update(a)#把字典合并,且两个字典有相同的key时候,将a字典里面的信息更新到新字典上

  • 打印
1 #节省内存,节省时间,建议使用
2 for i in info:
3     print(i,info[i])
4 #将字典转变成了列表,增加运算时间,不建议使用
5 for k,v in info.items():
6     print(k,v)
  •  items()   将字典转换为列表
a = {
    "stu1101" :1,
    2:3,
    4:5
}

print(a.items())


结果:
a = {
    "stu1101" :1,
    2:3,
    4:5
}

print(a.items())
  • dict.fromkeys()  :初始化一个字典
a = {
    "stu1101" :1,
    2:3,
    4:5
}
c = dict.fromkeys([7,8,9])#初始化字典,每个key分别为7,8,9
print(c)
c = dict.fromkeys([7,8,9],"test")#初始化字典,每个key分别为7,8,9;对应的value都为test
print(c)

结果:
{7: None, 8: None, 9: None}
{7: 'test', 8: 'test', 9: 'test'}
原文地址:https://www.cnblogs.com/cheng662540/p/7923183.html