day05 字典

  • 迭代添加
    • 按照最小的元素添加
  • range 可迭代对象
    • python2:range 数字列表
      • xrange 可迭代对象
    • python3 :可选迭代对象
  • 字典
    • 基础数据类型之一 {} 以键值对存储数据
    • dic = {'name':'Laonanhai',
      • 'age':'45,
      • 'name_list':['反面教材' ,.........]}
    • 以 key value 形式,映射
    • 存储的都是关系型数据
    • 数据类型分类
      • 可变 不可哈希
        • list dict set
      • 不可变 可哈希
        • str int tuple bool
        • str 改变后都是一个新的列表
    • 容器类分类
      • 容器类的数据类型
        • list tuple dict 取出的数据类型不变
      • 非容器类型分类
        • int bool str 会形成新的列表
    • 字典的类型必须是不可变的 str tuple dict 主要是str和int
      • 对应的value可以是任意的数据类型
      • 字典的键是唯一的
    • hash算法
      • 字典查询的速速特别快,相当于for循环的便利
      • 字典的键会通过hash表转换成对应的数字
      • hash相当于一个对照表,采用二分查找去查询
      • 比如100人 1-100 它会先查第50个元素
      • 每一个值都有一个数字对照
      • 所以会判断数字是否大于或者小于
      • 如果大于50的就不会查找大于50的元素
      • 字典的键是唯一的不可变所以是可以hash的
      • 字典在py3.5包含3.5之前是无序的,3.6之后是有序的
    • 增删减改
        • 有则覆盖无则添加
        • 有则不变无则添加
        • pop 删除整个键值对 有返回值 返回键的对应值
        • 可以设置返回值
        • 清空列表
        • del 尽量不使用 找不到报错 多使用pop
        • popitem随机删除有返回值返回值为元祖,里面是删除的键值对
        • 有则添加无则覆盖
        • 将dic里面的所有键值对覆盖添加到dic2中,dic不变
    • 字典嵌套
posted @ 2018-05-03 16:22  无疑为上  阅读(172)  评论(0编辑  收藏  举报