zoukankan      html  css  js  c++  java
  • python基础四

    字典:python中唯一一个映射数据类型

    按照可变与不可变分类:

    可变:list   dict    set

    不可变:  int   str    boor   tuple

    key : value

    key:是唯一的,且不可变的数据类型

    value:任意数据类型

    在3.5版本之前,字典是无序的,3.6是有序的

    增:

    #
    dic = {"name":"刘林","age":23,"sex":"man"}
    dic["name1"]= "liulin"
    print(dic)
    #输出:{'name': '刘林', 'age': 23, 'sex': 'man', 'name1': 'liulin'}
    #
    dic = {"name":"刘林","age":23,"sex":"man"}
    dic.setdefault("name1","liulin")
    print(dic)
    #输出:{'name': '刘林', 'age': 23, 'sex': 'man', 'name1': 'liulin'}

    删:

    #①按key删,有返回值
    dic = {"name":"刘林","age":23,"sex":"man"}
    dic.pop("name","没有此项内容")
    print(dic)
    #如果name不在字典里,并且不写”没有此项内容“,则会报错
    #②clear 清空
    dic = {"name":"刘林","age":23,"sex":"man"}
    dic.clear()
    print(dic)
    #输出:{}
    #③del
    #删除字典
    dic = {"name":"刘林","age":23,"sex":"man"}
    del dic
    
    #删除键值对
    dic = {"name":"刘林","age":23,"sex":"man"}
    del dic["name"]
    print(dic)
    #输出:{'age': 23, 'sex': 'man'}
    
    dic = {"name":"刘林","age":23,"sex":"man"}
    dic.popitem()
    print(dic)
    #随机删除,但是python3.5之后有序,所以默认删除最后一个,有返回值
    #输出:{'name': '刘林', 'age': 23}

    改 :dic["key"] = value  key是字典里有的

    #
    dic = {"name":"刘林","age":23,"sex":"man"}
    dic["name"] = "liulin"
    print(dic)
    #输出:{'name': 'liulin', 'age': 23, 'sex': 'man'}
    
    
    #②update
    dic = {"name":"刘林","age":23,"sex":"man"}
    dic2 = {"name":"liulin","hobby":"basketball"}
    dic.update(dic2)
    print(dic)
    #将dic的键值对进行覆盖并添加到dic
    #输出:{'name': 'liulin', 'age': 23, 'sex': 'man', 'hobby': 'basketball'}

    dic = {"name":"刘林","age":23,"sex":"man"}
    print(dic["name"])
    #没有返回值,如果没有key,报错
    #输出:刘林
    
    #get  有返回值,没有key 返回nane
    dic = {"name":"刘林","age":23,"sex":"man"}
    print(dic.get("name",”返回值“))
    #输出:刘林

    分别赋值:a,b = 1,2

                     a=1   b=2

    罗列所有key:

    dic = {"name":"刘林","age":23,"sex":"man"}
    keys = dic.keys()
    print(keys)
    #输出:dict_keys(['name', 'age', 'sex'])

    罗列所有值:

    dic = {"name":"刘林","age":23,"sex":"man"}
    values = dic.values()
    print(values)
    #输出:dict_values(['刘林', 23, 'man'])

    罗列所有键值对:

    dic = {"name":"刘林","age":23,"sex":"man"}
    items = dic.items()
    print(items)
    #输出:dict_items([('name', '刘林'), ('age', 23), ('sex', 'man')])

    循环:

    dic = {"name":"刘林","age":23,"sex":"man"}
    for i in dic:
        print(i)       #输出key
    for k in dic.keys():
        print(k)      #输出key
    for v in dic.values():
        print(v)      #输出value
    items = dic.items()
    print(items)    #输出:dict_items([('name', '刘林'), ('age', 23), ('sex', 'man')])

    字典嵌套

    dic = {
        'name':'金鑫',
        'name_list':[1,2,3,'李杰'],
        1:{
            'python10':['小黑','萌哥'],
           '老男孩':{'name':'oldboy','age':56}
        }
    }
    #1,[1,2,3,'李杰']追加'wusir'
    #2, ['小黑','萌哥'] 小黑 萌哥中间 插入一个花哥
    #3, {'name':'oldboy','age':56} 添加一个键值对,hobby:男人
    l = [1,2,3]
    # print(l.append('wusir'))
    # print(l)
    # dic['name_list'].append('wusir')
    # print(dic)
    # l = dic[1]['python10']
    # l.insert(1,'花哥')
    # print(dic)
    # dic1 = dic[1]
    # dic2 = dic1['老男孩']
    # dic2['hobby'] = '男人'
    
    # dic[1]['老男孩']['hobby'] = 'man'
    # print(dic)
  • 相关阅读:
    OpenCV中Mat,图像二维指针和CxImage类的转换
    opencv reduce()函数
    vc 6.0添加版本信息
    tesseract::TessBaseAPI api
    lnk1146 erro,solution
    LNK2001 error 解决方法
    Error LNK2038 mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease'
    APP后台架构开发实践笔记
    从0到1 快速建一个区块链
    App 后台架构
  • 原文地址:https://www.cnblogs.com/pygg/p/8352580.html
Copyright © 2011-2022 走看看