python的又一大数据字典的存在

88 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第8天,点击查看活动详情

字典

  • list是固定类型元素的集合,而元组就是包容万物的集装箱。在 python 中除了元组以外还有一种类型也是可以收容多类型元素的,没错他就是字典。
dic ={k1:v1,k2:v2}
  • 这不就是 Json 格式数据吗?没错你可以理解成就是json , 在python 领域我就是 字典。注意 dict 是python 的关键字。
  • dict 作为json 格式数据说白了就是 键值对。既然是键值对就必然存在key冲突问题,这里就会出现覆盖于不覆盖的问题。
dic={a:1,b:2,b:3}
  • 最后输出dic[b] 是3 而不是 2.
  • python 之所以火就是因为他对数据格式是一种弱格式语言。我们列表定位是通过 list[1]操作,元组中也是通过 arr[1]进行定位。在字典中同样也是[] , dic['a']获取key=a的值。 dic['a']=22就是修改字典值。
  • 这里需要注意的是字典的删除 和 list 差不多。del tinydict['Name']
  • 那么字典到底有啥特点?
  • 字典值可以没有限制地取任何 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。

两个重要的点需要记住:

  • 同样字典不语序出现两个key , 如果出现则会后者覆盖前者。
  • 键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行,如下实例:

总结

以列表返回一个字典所有的键
1dict.setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
2dict.update(dict2) 把字典dict2的键/值对更新到dict里
3dict.values() 以列表返回字典中的所有值
4pop(key[,default]) 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
5popitem() 返回并删除字典中的最后一对键和值。