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

    字典dict

    是一个键(key)值(value)对,结构为{},大括号

    创建字典

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    info = {                # k1 k2 k3 k4为键                      
        "k1": 18,             # :后面分别为值    逗号为分隔符
        "k2": True,                     # 数字,布尔值也可以作为键
        "k3": [
            11,
            [],
            (),
            22,
            33,
            {
                'kk1': 'vv1',
                'kk2': 'vv2',
                'kk3': (11,22),
            }
        ],
        "k4": (11,22,33,44)
     
    }

    字典的值可以是任何值

    • 列表,字典不能作为字典的key
    • 字典是无序的
    • 字典不能被切片,因为它是无序的;可根据索引取值,查找,找到元素
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    info = {
        "k1": 18,
        "k2": True,
        "k3": [
            11,
            [],
            (),
            22,
            33,
            {
                'kk1': 'vv1',
                'kk2': 'vv2',
                'kk3': (11,22),
            }
        ],
        "k4": (11,22,33,44)
     
    }
    v = info['k1']
    print(v)
     
    $ 18

    字典是支持del 删除的

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    info = {
        "k1": 18,
        "k2": True,
        "k3": [
            11,
            [],
            (),
            22,
            33,
            {
                'kk1': 'vv1',
                'kk2': 'vv2',
                'kk3': (11,22),
            }
        ],
        "k4": (11,22,33,44)
     
    }
    del info['k1']
    print(info)
     
     
    $ {'k4': (11, 22, 33, 44), 'k3': [11, [], (), 22, 33, {'kk1': 'vv1', 'kk3': (11, 22), 'kk2': 'vv2'}], 'k2': True}

    支持for循环

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    info = {
        "k1": 18,
        "k2": True,
        "k3": [
            11,
            [],
            (),
            22,
            33,
            {
                'kk1': 'vv1',
                'kk2': 'vv2',
                'kk3': (11,22),
            }
        ],
        "k4": (11,22,33,44)
     
    }
    for item in info:
        print(item)
     
     
    $ k4
    $ k2         info是字典类型
    $ k1           默认for循环只有key
    $ k3                但是输出结果键每次排序都不同,因为字典是无序的

    用for循环获取值values

    1
    2
    3
    4
    5
    6
    7
    8
    9
    代码接上
    for item in info.values():
        print(item)
     
     
    $ (11, 22, 33, 44)
    $ [11, [], (), 22, 33, {'kk3': (11, 22), 'kk2': 'vv2', 'kk1': 'vv1'}]
    $ True
    $ 18                           

    既想获取key又想获取value则用items

    1
    2
    3
    4
    5
    6
    7
    8
    9
    代码接上
    for item in info.items():
        print(item)
     
                                         # keys和values都可以获得
    $ ('k1', 18)
    $ ('k4', (11, 22, 33, 44))
    $ ('k2', True)
    $ ('k3', [11, [], (), 22, 33, {'kk2': 'vv2', 'kk3': (11, 22), 'kk1': 'vv1'}])                   

    字典的方法(魔法)

    序号函数及描述
    1 dict.clear()
    删除字典内所有元素
    2 dict.copy()
    返回一个字典的浅复制
    3 dict.fromkeys()
    创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
    4 dict.get(key, default=None)
    返回指定键的值,如果值不在字典中返回default值
    5 key in dict
    如果键在字典dict里返回true,否则返回false
    6 dict.items()
    以列表返回可遍历的(键, 值) 元组数组
    7 dict.keys()
    以列表返回一个字典所有的键
    8 dict.setdefault(key, default=None)
    和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
    9 dict.update({'k1':'v1'} OR k1=v1)
    把字典dict2的键/值对更新到dict里
    10 dict.values()
    以列表返回字典中的所有值
    11

    dict.popitem()

    随机删除,并获取删除的键值以元组形式返回

  • 相关阅读:
    消息队列接口API(posix 接口和 system v接口)
    Ubuntu 安装 Eclipse C/C++开发环境
    Ubuntu下Eclipse搭建ARM开发环境
    Linux进程间通信——使用流套接字
    Linux进程间通信——使用数据报套接字
    Linux进程间通信——信号集函数
    Linux进程间通信——使用信号
    Linux进程间通信——使用匿名管道
    mappedBy的作用
    VS Code 配置 C/C++ 环境
  • 原文地址:https://www.cnblogs.com/caodneg7/p/10152558.html
Copyright © 2011-2022 走看看