Python学习-字典的常见用法

  1 dic = {                                 #记住一定是大括号{}
  2     'info1': 'learning1',           # key : value,   这个是标准表示方式
  3     'info2': 'learning2',
  4 'info3': 'learning3',
  5 }
  6 
  7 print(dic)
  8 
  9 print(dic['info1'])             #从字典中取出值是要用中括号的
 10 
 11 dic['adding'] = 1123        #直接这样赋值就可以进行添加;修改也是,直接改
 12 
 13 print(dic)
 14 '''
 15 a = dic['adding']
 16 isinstance(a,int)           #这个是判断是否为int的办法,isinstance
 17 
 18 print(isinstance(a,int))
 19 
 20 dic.pop('adding') #经典的删除
 21 
 22 print(dic)
 23 
 24 dic.popitem()    #这个是直接随便删
 25 print(dic)
 26 
 27 del dic['info1']  #另一种删除方法
 28 print(dic)
 29 '''
 30 
 31 '''正常的查找方法'''
 32 
 33 
 34 if  'info1' in dic:         #一定要预先判断key是否在字典里面,这个是个好习惯
 35     print(dic.get('info1'))
 36 
 37 
 38 if  'info5' in dic:         #一定要预先判断key是否在字典里面,这个是个好习惯
 39     print(dic.get('info5'))         #这样不在的话就不会输出了
 40 
 41 '''字典可以多级嵌套'''
 42 
 43 catalog = {
 44     "欧美":{
 45         "美国": ["华盛顿","纽约"],
 46         "英国": ["伦敦","曼切斯特"],
 47         "法国": ["巴黎"],
 48     },
 49     "日韩":{
 50         "日本":["东京",'鹿儿岛']           #这个可以和列表拼接在一起的
 51     },
 52     "中国":{
 53         "中国":["上海","北京"]        #多层嵌套,里面的命名重叠是没有关系的
 54     }
 55 }
 56 
 57 catalog["中国"]["中国"][1] += ",这个是首都"    #可以直接这样操作
 58 
 59 '''item的这个功能,转化为列表'''
 60 
 61 print(dic.items())      #这个就是把字典转化为列表的形式(key,value),可以看到如果value是字典,就会呈现一个字典的形式
 62 print(catalog['欧美'].items())        #可以把单独一个value弄出来成为列表
 63 
 64 
 65 
 66 '''比较重要的是 setdefault这个功能'''
 67 #对比以下两个:
 68 catalog.setdefault('东亚','菲律宾')   #setdefault.(key,value)
 69 catalog.setdefault('中国',"it's new")    #有这个key的时候不会有改动,没有的时候会创建
 70 
 71 print(catalog)
 72 print(catalog["中国"]["中国"])
 73 
 74 '''更新,把另一个字典加入到原来的字典中'''
 75 info = {
 76     1:2,
 77     3:4,
 78     'info1':552
 79 }
 80 
 81 dic.update(info)            #通过update这个function来进行添加
 82 #如果出现同名的情况,就会将原有的value进行覆盖
 83 
 84 print(dic)
 85 
 86 '''经典的循环'''
 87 #只打印key:
 88 for i in dic:
 89     print(i)
 90 #打印key和value
 91 for i in dic:
 92     print(i,dic[i])
 93 #打印value
 94 for i in dic:
 95     print(dic[i])
 96 
 97 
 98 '''利用item功能的循环,特点是速度相对慢,在大数据量的时候不合适''
99 for k,v in dic.items(): #这么理解,先转为元组,而后有(a,b)两个值,k和v对应a,b 100 #然后,打印k,v这样的值在一排。 101 print(k,v)

 

posted @ 2017-11-05 16:48  Ian_learning  阅读(660)  评论(0编辑  收藏  举报