• 五,字典用法总结


    字典的基本语法
    字典是一种唯一的一种映射数据类型,同时也是一种可变的数据类型:
    字典的每个元素包含一个可以自定义的键,及这个键相对应的值。
    同时,字典也是一种无序的数据类型!(但是在3.6版本之后就变成了有序的数据类型!)

    概念:
    不可变数据类型:元组,布尔值,数值,字符串,集合 ->可哈希
    可变数据类型:列表,字典,集合set ->不可哈希

    dict的key必须是不可变数据类型!而其value可以任意类型的数据!而且必须是唯一的。
    dict 优点:(dict在查找的时候是使用二分查找的方法去搜索数据的,效率比较高!)
    可以储存大量的关系型数据

    字典的元素添加:
    dict1['想增加的键'] = 想增加的数据 #字典可以直接使用赋值的形式增加元素。这里的方法在列表中就不行
    #的值用一个列表去显示
    dict.items() #将键值对显示为一个元组,并把所有键值对元组显示在一个列表中。
    #如果想使用循环或者迭代时,可以生成以上列表,进行循环!但是这种方法非常占用内存,所以尽量不要使用。
    可以使用for k,v in dict #同时,如果这个键已经存在了,那么就直接无覆盖了这个值
    dict2.setdefault('想加的键','想加值') #增加键值对,如果已经存在该键则不做改动,不管存不存在都会返回这个键的值。
    dic.fromkeys() #可以生成一个空字典,一个参数:一个新字典所有键的列表,第二个参数
    想要添加的值
    dic.copy() #生成一个新的副本字典,这里执行的是潜复制,即其中的元素id还是一样的。

    字典的删除:
    dict3.pop('键',如果没有这个键返回的值) #按照字典的键删除一个元素,并且返回一个值。可设返回值。
    dict4.popitem() #删除最后一个值,返回被删除的那个键值对的元组。
    dict5.clear() #清空该字典,,但是仍然保留该字典
    del dict6[key] #直接删除该值
    del dict7 #直接删除这个字典的内存

    字典的修改:
    dict8.update(dict9) #用dict9去更新dict8,如果前中有后的键时,进行覆盖,如果没有,则添加!

    字典的查询:
    可以直接使用in成员检验,查找的是字典的key而不能查找values
    dict.keys() #将一个字典的键用一个列表去显示
    dict.values() #就可以批量遍历地去打印这些键和值。
    dict.get(key,'如果没有这个键,就返回的值') #查找一个键下的值,如果没有这个键,可以自定义返回的值。

    字典的嵌套:
    自己多理解吧,和列表的嵌套原则差不多。但是一定要注意,复杂的结构一定理清格式,方便阅读。
    注意,bug点,在循环一个字典的时候,不能删除它的键值对!否则则可能产生RuntimeError
  • 相关阅读:
    Mesos源码分析(8): Mesos-Slave的初始化
    OpenStack(一)——OpenStack的相关概念
    awk(gawk)文本报告生成器
    echo的色彩处理
    bash命令检测Shell脚本中的语法错误和查看详细执行过程
    Linux命令之cut
    sed流编辑器
    shell中函数的使用
    shell中的shift左移参数命令
    shell中跳出循环语句break和continue
  • 原文地址:https://www.cnblogs.com/wanghanyao/p/10261120.html
Copyright © 2020-2023  润新知