zoukankan      html  css  js  c++  java
  • Python老男孩 day12 字典的魔法

    #字典 dict
    #1.字典的格式:键值对
    info = {'k1':'v1','k2':'v2'}

    #2.字典的value可以是任何值
    #3.列表、字典不能作为字典的key
    #4.字典是无序的

    info = {'k1': 18,
    2: True,
    'k3': [11, [], (), 22, 33, {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11, 22)}],
    'k4': (11, 22, 33, 44)
    }
    v1 = info['k1']
    v2 = info[2]
    print(v1,v2)

    运行结果:
    18 True

    #5.支持索引方式找到指定元素
    #取到kk3中的11

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

    运行结果:
    11

    #6.字典支持del删除
    info = {'k1': 18,
    2: True,
    'k3': [11, [], (), 22, 33, {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11, 22)}],
    'k4': (11, 22, 33, 44)
    }
    del info['k1']
    print(info)

    运行结果:
    {2: True, 'k3': [11, [], (), 22, 33, {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11, 22)}], 'k4': (11, 22, 33, 44)}


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

    运行结果:
    {'k1': 18, 2: True, 'k3': [11, [], (), 22, 33, {'kk2': 'vv2', 'kk3': (11, 22)}], 'k4': (11, 22, 33, 44)}


    #7.支持for循环 for循环字典默认输出keys

    info = {'k1': 18,
    2: True,
    'k3': [11, [], (), 22, 33, {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11, 22)}],
    'k4': (11, 22, 33, 44)
    }
    for item in info:
    print(item)

    运行结果:
    k1
    2
    k3
    k4


    ------------------------------------------------------方法-----------------------------------------------------------
    #输出key
    for item in info.keys() :
    print(item)

    运行结果:
    k1
    2
    k3
    k4

    #输出value
    for item in info.values() :
    print(item)

    运行结果:
    18
    True
    [11, [], (), 22, 33, {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11, 22)}]
    (11, 22, 33, 44)

    #输出键值对
    for item in info.items() :
    print(item)

    运行结果:
    ('k1', 18)
    (2, True)
    ('k3', [11, [], (), 22, 33, {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11, 22)}])
    ('k4', (11, 22, 33, 44))

    #
    for k,v in info.items() :
    print(k,v)

    运行结果:
    k1 18
    2 True
    k3 [11, [], (), 22, 33, {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11, 22)}]
    k4 (11, 22, 33, 44)


    #fromkeys是静态方法,根据序列创建字典,并指定统一的值
    v = dict.fromkeys(['k1', 123, '999'], 123)
    print(v)

    运行结果:
    {'k1': 123, 123: 123, '999': 123}

    #get 根据key获取值,key不存在时,可以指定值(不指定,默认为None)
    dic = {'k1': 'v1'}
    v1 = dic.get('k1')
    v2 = dic.get('k2')
    v3 =dic.get('k2',111)
    print(v1, v2,v3)


    运行结果:
    v1 None 111


    #pop 删除并获取值
    dic = {'k1': 'v1',
    'k2': 'v2'}
    v=dic.pop('k1')
    print(dic,v)

    运行结果:
    {'k2': 'v2'} v1


    #popitem 随机删一个键值对

    #setdefault 设置key值(若key已存在,则不设置,获取当前可以对应的值)
    dic = {'k1': 'v1',
    'k2': 'v2'}
    v1=dic.setdefault('k1',123)
    v2=dic.setdefault('k3',222)
    print(dic,v1,v2)

    运行结果:
    {'k1': 'v1', 'k2': 'v2', 'k3': 222} v1 222

    #update 更新
    #方式一
    dic = {'k1': 'v1',
    'k2': 'v2'}
    dic.update({'k1':'111','k3':123})
    print(dic)

    运行结果:
    {'k1': '111', 'k2': 'v2', 'k3': 123}

    #方式二
    dic = {'k1': 'v1',
    'k2': 'v2'}
    dic.update(k1=123,k3=456)
    print(dic)

    运行结果:
    {'k1': 123, 'k2': 'v2', 'k3': 456}

    #*** keys() values() items() get() update()必须掌握

  • 相关阅读:
    c++ 动态判断基类指针指向的子类类型(typeid)
    qt在GUI显示时,将调试信息输出到控制台的设置
    Qt库版查询
    Qt动态库静态库的创建、使用、多级库依赖、动态库改成静态库等详细说明
    ICMP timestamp 请求响应漏洞
    linux 防火墙 ufw使用
    MySQL--binlog和relay log的生成和删除
    SSD 相关基础知识
    python36--将数据保存为excel
    MySQL 5.7并发复制和mysqldump相互阻塞引起的复制延迟
  • 原文地址:https://www.cnblogs.com/zhuhemin/p/9080285.html
Copyright © 2011-2022 走看看