zoukankan      html  css  js  c++  java
  • 字典

    字典

    1.基本结构键值对方式

    dic = {
       "k1": "v1", # 键值对
       "k2": "v2"
    }

    2.字典的value可以是任何值

    dic = {
        "k1": 18,  #数字
        "k2": True,#布尔值
        "k3": [    #列表
            11,
            [],
            (),
            22,
            33,
            {     #字典
                'kk1': 'vv1',
                'kk2': 'vv2',
                'kk3': (11,22),
            }
        ],       #元组
        "k4": (11,22,33,44)
    }

    3.列表、字典不能作为字典的key;特殊说明:布尔值可以当字典的key

    dic ={
        3: 'asdf',
        "k1": 'asdf',
        True: "123",
        [11,22]: 123  #列表不可以当key
        (11,22): 123,    
        {'k1':'v1'}: 123   #字典不可以当key
        #因为列表和字典都可以修改,而元组不能
    }

    4.字典是无序的

    5.索引方式找到指定元素

    dic = {
        "k1": 18,
        2: True,
        "k3": [
            11,
            [],
            (),
            22,
            33,
            {
                'kk1': 'vv1',
                'kk2': 'vv2',
                'kk3': (11,22),
            }
        ],
        "k4": (11,22,33,44)
    }
    v = dic['k1']
    print(v)    #通过key找到value
    v1 = dic['k3'][5]['kk3'][0]
    print(v1)   #value下是列表,可以通过索引的方式查找

    6.字典支持 del 删除

    dic = {
        "k1": 18,
        2: True,
        "k3": [
            11,
            [],
            (),
            22,
            33,
            {
                'kk1': 'vv1',
                'kk2': 'vv2',
                'kk3': (11,22),
            }
        ],
        "k4": (11,22,33,44)
    }
    del dic['k1']
    del dic['k3'][5]['kk1']
    print(dic)

    7.for循环

    dic = {
        "k1": 18,
        2: True,
        "k3": [
            11,
            [],
            (),
            22,
            33,
            {
                'kk1': 'vv1',
                'kk2': 'vv2',
                'kk3': (11,22),
            }
        ],
        "k4": (11,22,33,44)
    }
    for k,v in dic.items():
        print(k,':',v)    #遍历key和values
    for k in dic:
        print(k)    #默认遍历key值
    for v in dic.values():
        print(v)    #选择遍历value值

    常用方法:

    1.创建字典,并指定统一值

    v = dict.fromkeys(["k1",123,"999"],123)
    print(v)
    输出:{'k1': 123, 123: 123, '999': 123}

    2.根据Key获取值,key不存在时,可以指定默认值(None)

    dic = {
        "k1": 'v1',
        "k2": 'v2'
    }
    v = dic.get('k3')
    print(v)
    
    #输出None
    
    v1 = dic.get('k4','zhang')
    #输出zhangsan

    3.删除,并获取值

    dic = {
        "k1": 'v1',
        "k2": 'v2'
    }
    v = dic.pop('k3',100)  #删除k3对应的value,如果
    print(dic,v)
    k,v = dic.popitem() #随机删除字典中的一个键值对,并且返回该键值
    print(dic,k,v)

    4.设置值

    已存在,不设置,获取当前key对应的值 ,不存在,设置,获取当前key对应的值

    dic = {
        "k1": 'v1',
        "k2": 'v2'
    }
    v = dic.setdefault('k1','123')  # 已存在,不设置,获取当前key对应的值
    print(dic,v)
    v1 = dic.setdefault('k4','234') #不存在,设置,获取当前key对应的值
    print(dic,v1)

    5.更新值

    dic = {
        "k1": 'v1',
        "k2": 'v2'
    }
    dic.update({'k1':'update'})
    print(dic)
  • 相关阅读:
    微软经典面试笔试题
    Websense一面、二面及Offer
    微软2014年技术岗位在线笔试题
    2013年微软面试经历 – 终究离他们的要求还是有一定距离
    Mesos:数据库使用的持久化卷
    Mesos和Docker的集成
    可扩展架构取舍
    组织架构适配下的敏捷开发
    TensorFlow与主流深度学习框架对比
    Pokémon Go呼应设计:让全世界玩家疯狂沉迷
  • 原文地址:https://www.cnblogs.com/z-j-h/p/12023660.html
Copyright © 2011-2022 走看看