美文网首页
【Python】-005-变量类型-字典

【Python】-005-变量类型-字典

作者: 9756a8680596 | 来源:发表于2017-07-14 16:16 被阅读8次

    1.key: value,键: 值对

        dict = {'xiaoming': 90, 'xiaomao': 80, 'xiaoli': 54}  //关键字key必须是不可变对象
        d1 = dict(a=10, b=2, c=0)  // {'a':10, 'b':2, 'c':0}
        d2 = dict(zip(['a', 'b', 'c', 'd'], [1,2,3,4]))  //将两个list变为一个tuple,在通过dict方法变为字典{'a': 1, 'c': 3, 'b': 2, 'd': 4}
    

    2.常用操作

    • 取值,删除和清空
      d = {'xiaoming': 90, 'xiaomao': 80, 'xiaoli': 54}
      d['xiaoming'] //返回key为'xiaoming'的value值90
      d.keys() //['xiaomao', 'xiaoming', 'xiaoli'],返回key构成的列表
      d.values() //[80, 90, 54],返回value构成的列表
      d.items() //[('xiaomao', 80), ('xiaoming', 90), ('xiaoli', 54)],返回key:value对的元组列表
      a = dict.get('python', 'None!') //将key为'python'的value取出,赋值给a,如果key不存在,赋值给a 'None!'

        del d['xiaoming']  //删除key为'xiaoming'的value,无返回值
        d['xiaoxiao'] = 33  //增加key为'xiaoxiao',value为33进入字典d
        d.update({'xiaohong': 33})  //增加新字典到d
        clear dict  //清空字典,变为空字典{}
      
    • 引用和拷贝
      //引用和拷贝
      code = {'c++':38599, 'python':100931, 'shell':26153, 'ruby':93142, 'java':84275, 'javascript':184220, 'c':46843}
      code_ref = code
      code_copy = code.copy()

        other_code = {'php':78014,'objective-c':34444}
        code.update(other_code)
        del code['c++']
        
        code
        code_ref
        code_copy
        //深拷贝,字典内没有嵌套,浅拷贝只拷贝第一层,深拷贝包括深层内容
      

    3.其他

    • 字典是散列表,没有顺序,适合插入和查询操作
    • key不一定是字符串,但是一定是不可变对象(数字、字符串和元组),value可以是任意类型或者嵌套
    • 可以排序,一种是列表解析,返回一个list存储结果;另外,有序的字典类型后续介绍

    相关文章

      网友评论

          本文标题:【Python】-005-变量类型-字典

          本文链接:https://www.haomeiwen.com/subject/wsjnhxtx.html