zoukankan      html  css  js  c++  java
  • 五,字典用法总结

    字典的基本语法
    字典是一种唯一的一种映射数据类型,同时也是一种可变的数据类型:
    字典的每个元素包含一个可以自定义的键,及这个键相对应的值。
    同时,字典也是一种无序的数据类型!(但是在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
  • 相关阅读:
    操作系统概论——引
    Oracle知识点总结(一)
    SQLite操作
    JUnit单元测试(六)--Eclipse中JUnit的使用
    IOS沙盒和sqlite简单操作分析
    Android 程序清单文件详解
    限制对比度自适应直方图均衡化算法原理、实现及效果
    第一个django项目
    mysql 引擎优化
    项目
  • 原文地址:https://www.cnblogs.com/wanghanyao/p/10261120.html
Copyright © 2011-2022 走看看