Python中的字典

匿名 (未验证) 提交于 2019-12-02 22:56:40

字典(dict)

  已知的可哈希(不可变)的数据类型: int, str, tuple, bool

  不可哈希(可变)的数据类型: list, dict, set

  语法:{key1: value1, key2: value2....}

  dict保存的数据不是按照我们添加进去的顺序保存的. 是按照hash表的顺序保存的. 而hash表不是连续的. 所以不能进行切片工作. 它只能通过key来获取dict中的数据,在3.6之前.打印一个字典的结果中键值对的顺序都是错乱的,3.6之后,键值对的顺序与输入的顺序一致,但是保存的时候还是无序的

  增加:

    1.dict[一个字典中不存在的key0 = 值, 就会新增一个键值对

    2.setdefalt():设置默认值,当没有为一个key设置value时,key等于这个默认value,通过方法1设置之后,value就会是设定的那个value

  删除:

    1.pop(key):类似于list的pop,不过list使用的是下标,而dict用的是key

    3.popitem():随机删除一个键值对

    4.clear():清空,一个不剩

  修改:

    1.dict[一个已经存在的key] = value 会对已有的键值对重新赋值,覆盖原有的的value

    2.dict1.update(dict2):把dict2中的键值对更新到dict1中,key一样的会覆盖,没有的键值对会新增

  查询:

    2.get(key,defalt=None):与方法1不同的是.key不存在的时候返回None,这个None可以通过参数defalt修改

  其他相关操作:

    例:dic = {"id": 123, "name": 'sylar', "age": 18, "ok": "科比"}

      for key in dic.keys:

        print(key)

    2.print(dic.values()) #同keys基本一样,用法也相同

        print(value)

    3.print(dic.items()) #dict_items([('id', 123), ('name', 'sylar'), ('age',18), ('ok', '科比')])

      for key, value in dic.items:

        print(key, value)

    *一个特殊情况:直接遍历dic,打印的也是key.

      for i in dic:

        print(i)

      

    

  

文章来源: Python中的字典
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!