• 8、基本数据类型(dict)



    8.1、字典:

    1、字典元素用大括号括起来,用逗号分割每个元素,字典元素是"key:value"的形式

    dic = {

    "k1": 'v1', #键值对

    "k2": 'v2'

    }

    2、字典的特点:

    (1)字典元素key的值是唯一的,可变数据类型不可作为字典的key,

    "列表"、"字典"、"集合"、不能作为字典元素的key

    (2)字典元素"value"的数据类型可以是任意的

    (3)字典元素"value"可以嵌套任何数据类型

    (4)字典元素"value"可以重复

    (5)字典是可变的数据类型(可以增加,删除,修改元素)

    (6)字典元素是有序排列的

    (7)字典元素可以使用for循环进行遍历


    8.2、字典用法:

    info = {

    "k1": 18,

    2: True,

    "k3": [

    11,

    [],

    (),

    22,

    33,

    {

    'kk1': 'vv1',

    'kk2': 'vv2',

    'kk3': (11,22),

    }

    ],

    "k4": (11,22,33,44),

    True: "123",

    (11,22): 123

    }


    1、根据序列,创建字典,并指定统一的值:

    v = dict.fromkeys(["k1",123,"999"],123)

    print(v)


    2、根据Key获取值,当key不存在时返回指定的值,默认值是None:

    v = info.get('k12',100)

    print(v)


    3、根据key删除value值,并获得该值,当key不存在时返回指定的值:

    dic = {

    "k1": 'v1',

    "k2": 'v2'

    }

    v = dic.pop('k1',100)

    print(dic,v)


    k,v = dic.popitem()

    print(dic,k,v)

    #删除最后一个key-value值


    4、设置值:

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

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

    dic = {

    "k1": 'v1',

    "k2": 'v2'

    }

    v = dic.setdefault('k3','123')

    print(dic,v)


    5、更新字典,key存在不设置,key不存在设置:

    dic = {

    "k1": 'v1',

    "k2": 'v2'

    }

    dic.update({'k1': '111111','k3': 123})

    print(dic)

    #dic.update(k1=123,k3=345,k5="asdf")

    #print(dic)


    6、索引方式找到指定元素:

    v = info['k1']

    print(v)

    v = info['k3'][5]['kk3'][0]

    print(v)


    7、字典支持 del 删除:

    del info['k1']

    del info['k3'][5]['kk1']

    print(info)


    8、通过for循环遍历字典中的元素:

    (1)遍历key值:

    for item in info.keys():

    print(item)


    (2)遍历key对应的value值:

    for item in info.keys():

    print(item)


    (3)同时遍历key值和key对应的value值:

    for k,v in info.items():

    print(k,v)


    9、小结,常用方法:

    get/update/keys/values/items


    判断key值是否在字典中

    dic = {

    "k1": 'v1'

    }

    v = "k1" in dic

    print(v)













  • 相关阅读:
    64位win2008下IIS未开启32位支持导致DLL无法加载问题
    多控制器传递不同类型实体类到共用视图方案
    敏捷开发学习笔记——产品经理
    一些Razor语法
    敏捷开发学习笔记——用户故事与多职能团队
    UM九图
    Linq的分页
    easyUI datagrid 前端真分页
    C#项目的生成事件及批处理文件
    子类复制父类的值
  • 原文地址:https://www.cnblogs.com/LiuChang-blog/p/12317185.html
Copyright © 2020-2023  润新知