zoukankan      html  css  js  c++  java
  • 基础数据类型之字典

    一:字典

          字典是python中非常重要的数据类型,在python中唯一一个映射的数据类型。字典中key是唯一的且 是不可变数据类型,value:任意数据类型。如:

    dic = {"name":"jin","age":18,"sex":"male"},字典能存放大量的数据类型,且关联性较强。

    二:关于字典的相关操作

    1,增

    dic["key"]=value,有key,就修改键值对,没有key,就按照此key添加新的键值对。

    dic.setdefault("key","vaule"),如果字典中含有此key,则字典不进行任何操作;如果字典中不含有此key,则在字典中添加该键值对。具体程序如下:

    dic = {"name":"jin","age":18,"sex":"male"}
    dic["山地车"]="ashda"
    print(dic)
    
    dic['name']="scd"
    print(dic)
    
    dic.setdefault("hobby")  #添加键值对
    print(dic)
    
    dic.setdefault("hobby","船长")
    print(dic)
    
    dic.setdefault("得到","dsfas")
    print(dic)
    
    dic.setdefault("name","dsfas")
    print(dic)
    View Code

    2,删

    pop,按key删除 ,形式为dic.pop("key")而且有返回值,返回值是按key所删除的vaule,如果没有此key,则会报错,不过可以自己设置返回值,这样就不会报错。

    del ,形式为del dic["key"]   删除字典,按key删除键值对,如果没有此key,则会报错。

    popitem,形式为dic.popitem() ,随机删除,有返回值,返回值就是删除的键值对(元组的形式)。

    clear ,直接清空字典。关于删的具体程序如下:

    dic = {"name":"jin","age":18,"sex":"male"}
    dic.pop("key")
    dic.pop("name")
    print(dic)
    
    ret=dic.pop("name")
    print(ret)
    
    ret=dic.pop("sss","没有次键")
    print(ret)
    
    dic.clear()
    print(dic)
    
    del dic["name"]
    print(dic)
    
    ret=dic.popitem()
    print(ret)
    print(dic)
    View Code

    3,改

    dic["key"]=value, 按照key去修改键值对,有key,就修改;没有就添加该键值对。

    update 将dic的键值对添加到dic2 中,如果key相同,则覆盖dic2 中的键值对;dic不变。具体程序如下:

    dic = {"name":"jin","age":18,"sex":"male"}
    dic["name"]="fds"
    print(dic)
    
    dic = {"name":"jin","age":18,"sex":"male"}
    dic2 = {"name":"alex","weight":75}
    dic2.update(dic)
    print(dic)
    print(dic2)
    View Code

    4,查

    print(dic["key"]),按照key进行查找,若有key,则打印其所对应的value;若没有此key,则报错。
    print(dic.get("key")),按照key进行查找,若有key,则打印其所对应的value;若没有此key,不会报错,默认返回值是None,返回值也可以自己设置。

    dic = {"name":"jin","age":18,"sex":"male"}
    print(dic['name'])
    print(dic['name2'])
    
    print(dic.get('name'))
    print(dic.get('name2'))
    print(dic.get('name2','没有此键值对'))
    View Code

    三:字典的嵌套

    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:dsf
    
    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'] = 'dsf'
    
    dic[1]['老男孩']['hobby'] = 'dsf'
    # print(dic)
    View Code

    四:用for循环打印字典中的元素,具体程序如下:

    #打印字典中的keys
    #方法一:
    for k in dic:
        print(k)
    #方法二:    
    for k in dic.keys():
        print(k)
    #打印字典中的values
    for v in dic.values():
        print(v)
    #打印字典中的键值对
    #方法一:
    for k,v in dic.items():
        print(k,v)
    #方法二:    
    for k in dic:
        print(k,dic[k])
    View Code
     
     
  • 相关阅读:
    Laravel入坑指南(5)——请求与响应
    Laravel入坑指南(4)——数据库(Mysql)
    CentOS7 开机网卡加载失败
    个人CKeditor的config.js配置
    取消ie浏览器edge浏览器输入框右边的叉和眼睛
    angularjs中ckeditor的destroy问题
    angular js ckeditor directive示例代码
    建立没有文件名的文件
    设置ckeditor文本框的宽度为百分比自适应
    js中遍历删除数组中的项(项目中遇到的问题解决)
  • 原文地址:https://www.cnblogs.com/leiwei123/p/8352348.html
Copyright © 2011-2022 走看看