zoukankan      html  css  js  c++  java
  • python 字典

    #!/usr/bin/env python
    #key-value

    info = {
    'stu1101':"Tentlan wu",
    "stu1102":"Longze Luola",
    "stu1103":"Maliya Xiaoze",
    }

    #字典的循环

    for key in info: #效率高,直接通过key取值 value
    print(key,info[key])

    for k,v in info.items(): #结果同上,但是先需要把字典转换成列表,在取值,如果字典数据量小没问题
    print(k,v) #字典数据量巨大的时候,效率非常低,多了一个转换过程

    info_b = {
    'stu1101':"jfsu",
    123:456
    }
    info.update(info_b) # 作用是,两个表合并,当有交叉的时候,就更新,没有交叉就把info_b表合并到info中,创建新的key value
    #print(info)
    print(info.items()) #把字典转成列表
    c = dict.fromkeys([5,6,7],"test") #初始化一个新的字典

    #有个坑 fromkeys的,类似于 浅copy
    c = dict.fromkeys([6,7,8],[1,{"user":"susan"},{"age":"13"}])
    c[7][2]['age'] = '23' #实际上指向修改7里面第三个元素的值,结果修改影响到了6,8,三个key指向同一份内存数据。
    print(c)

    print(info)
    info["stu1101"] = "武藤兰" #修改字典
    info["stu1104"] = "苍老师" #增加字典
    #del info["stu1101"]
    #info.pop("stu1101") #标准删除方法
    #del info["stu1101"] #换个删除方法
    info.popitem() #随机删除
    print(info)

    #查找值
    #info]["stu1104"] #没有的值会报错
    print(info.get('stu1104')) #没有值就显示none,不会报错

    print('stu1103' in info) #info.has_key('stu1103') python 2.x 中方法

    #多级字典的嵌套操作
    av_catalog = {
    "欧美":{
    "www.youporn.com":["免费多","质量一般"],
    "www.pornhub.com":["也很大","质量比YP好"],
    "letmedothistoyou.com":["多是自拍,高清","更新慢"],
    "x-art.com":["质量高","全部收费"]
    },
    "日韩":{
    "tokyo-hot":["不清真","收费"]
    },
    "港台":{
    "1024":["for free",'好人一生平安']
    }
    }

    av_catalog["日韩"]["tokyo-hot"][1] = "收费" #修改

    print(av_catalog.values())
    print(av_catalog.keys())·

    av_catalog.setdefault("大陆",{"2048":[1,2]}) # 增加一个字典值
    av_catalog.setdefault("港台",{"4096":[3,4]}) # 去字典里面找 港台,如果能取到,就显示,取不到,就增加一个港台的key -value
    print(av_catalog)

    合并两个字典

    dict1={1:[1,11,111],2:[2,22,222]}
    dict2={3:[3,33,333],4:[4,44,444]}
    合并两个字典得到类似

    {1:[1,11,111],2:[2,22,222],3:[3,33,333],4:[4,44,444]}
    方法1:

    dictMerged1=dict(dict1.items()+dict2.items())
    方法2:

    dictMerged2=dict(dict1, **dict2)
    方法2等同于:

    dictMerged=dict1.copy()
    dictMerged.update(dict2)

  • 相关阅读:
    剑指Offer
    剑指Offer
    ASP.NET MVC4中的bundles特性引发服务器拒绝访问(403错误)
    less文件的样式无法生效的一个原因,通过WEB浏览器访问服务器less文件地址返回404错误
    Sqlserver Sql Agent Job 只能同时有一个实例运行
    SSAS 聚合设计提升CUBE的查询性能(转载)
    SQL SERVER: 合并相关操作(Union,Except,Intersect)
    SQL Server安装完成后3个需要立即修改的配置选项(转载)
    收缩TempDB的办法(转载)
    SSIS 关于并发的两个设置
  • 原文地址:https://www.cnblogs.com/summer-han/p/7954486.html
Copyright © 2011-2022 走看看