zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    Blend混合模式 与 20余种颜色混合模式代码实现
    unity2020相关
    Unity3D研究院之加密Assetbundle不占内存(一百零五)
    Unity AssetBundle 加密
    Unity AssetBundle高效加密案例分享
    AssetBundle压缩/内部结构/下载和加载
    uml类图
    l2j开源java mmo服务器
    Unity开发(三) AssetBundle同步异步引用计数资源加载管理器
    Unity 引擎资源管理代码分析
  • 原文地址:https://www.cnblogs.com/Ian-learning/p/7787802.html
Copyright © 2011-2022 走看看