• 字典操作


    一、字典是无序的,字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,且key必须是唯一的,格式如下所示

      字典:

        dict = {'a':1,'b':'123'}

      字典嵌套字典:

        dict = {'a':{'abc':123},'b':123}

      字典嵌套列表:

        dict = {'a':[1,2,3,4],'b':123}

    二、遍历字典

    1、for key,value in dict.items():

      print(key,value)

    例子:

      dict = {'a':1,'b':'123'} 

      for key,value in dict.items():
        print(key,value)

      结果:

        a 1
        b 123

    2、for key in dict:                         #效率高,推荐使用    

        print(key,dict[key])

    例子:dict = {'a':1,'b':'123'} 

      for key in dict:
        print(key,dict[key])

      结果:

        a 1
        b 123

    三、取元素

      1、根据key值取出value值,如果key值不存在,会报错

        用法:dict[key] = value

        如:dict = {'a':1,'b':'123'}

        print(dict['a']) -> 1

      2、get:如果key值不存在,不会报错

        用法:get(key)

        如:dict = {'a':1,'b':'123'}

        print(dict.get('b')) -> 123

    2、删除

      dict = {'a':1,'b':'123'}

      1、clear

      用法:D.clear() -> None. Remove all items from D.

      如:

        dict.clear()

        print(dict) -> {}

      2、del

        如:del dict['a']

          print(dict) ->{'b':'123'}

      3、pop

        如:dict.pop('a')

        print(dict) ->{'b':'123'}

      4、popitem:D.popitem() -> (k, v),随机删除,返回key和value

        

    3、添加

      根据key值添加,如果key存在,修改value值,如果key不存在,新建一个key:value的对应关系

      如dict = {'a':1,'b':'123'}
      dict['a'] = '测试'
      dict['c'] = '测试1'

      print(dict) ->{'c': '测试1', 'a': '测试', 'b': '123'}

    4、其它

    1、values

    用法:D.values() -> an object providing a view on D's values

    如:

    dict = {'a':1,'b':'123'}
    print(dict.values())  ->dict_values([1, '123'])

    同理还有D.keys()

    2、setdefault

    用法:D.setdefault(key,value),如果key值存在,返回value的值,key值不存在,则创建D[key] = value,并返回value的值

    如key存在:

      dict = {'a':1,'b':'123'}
      print(dict.setdefault('a','测试'))   ->1
      print(dict)                               ->{'a': 1, 'b': '123'}

     key不存在:

      dict = {'a':1,'b':'123'}
      print(dict.setdefault('c','测试')) ->测试
      print(dict)                              ->{'a': 1, 'c': '测试', 'b': '123'}

    根据(key值存在,不修改value的值)这个特性,也可以用来初始化字典:

    代码示例:

    d = {}
    d.setdefault('a',[]).append(1)
    d.setdefault('b',[]).append(2)
    d.setdefault('a').append(3) #当key存在,添加元素时可以不用加[]
    print(d) ->{'b': [2], 'a': [1, 3]}

     3、update:更新字典,

       用法:D.update(E) -> None.更新D字典,如果E中的key在D中存在,则更新value, D[k] = E[k]

        E中的key在D中不存在,则新建,for k in E: D[k] = E[k]

       如:

        dict = {'a':1,'b':'123'}

        dict1 = {'a':'测试','c':'abc'}
        dict.update(dict1)
        print(dict)                 ->{'c': 'abc', 'a': '测试', 'b': '123'}

     4、fromkeys:初始化一个新列表

        c = dict.fromkeys([6,7,8],['a','b'])

        print(c) ->{8: ['a', 'b'], 6: ['a', 'b'], 7: ['a', 'b']}

     一些dict的高级用法,详见分类python高级特性字典的高级特性

  • 相关阅读:
    设计模式详细系列教程 (三)以网上购物通用的订单流程 详解状态模式
    DIV +CSS 系列详细教程 (一)初识
    JAVA JDK环境变量的配置
    SCM软件配置管理 (二) SVN管理平台搭建以及详细设置
    设计模式详细系列教程 (四) 无处不在的单例模式
    Java、JavaScript、asp.net 、jquery 详细分析
    牛腩新闻发布系统 (6) 在线浮动的客服功能
    牛腩新闻发布系统 (4)验证码的生成
    UML系列 (六)如何提取用例技术?
    牛腩新闻发布系统 (5) 总结
  • 原文地址:https://www.cnblogs.com/zj-luxj/p/6822953.html
Copyright © 2020-2023  润新知