字典dict


定义

  • key-value 键值对数据的集合
  • 可变的、无序的,key 不重复
  • 可 hash 才可以作为 key,和 set 元素要求一致
  • 定义和初始化
    • d = dict()d = {}
    • dict(**kwargs)使用 name = value`对初始化一个字典
    • d = {'a':10,'b':None,'c':[1,2,3]}
    • 类方法dict.fromkeys(iterable,value)
      • d = dict.fromkeys(range(5))
      • d = dict.fromkeys(range(5),0)

字典元素的访问

  • d[key]
    • 返回 key 对应的值 value
    • key 不存在抛 keyError 异常
  • get(key[,default])
    • 返回 key 对应的值 value
    • key 不存在返回缺省值,无缺省值返回 None
    • 举例:d2.get(key)
  • setdefault(key[,default])
    • 返回 key 对应的值 value
    • key 不存在,添加 kv 对,value 为 default,并返回 default
    • 如 default 没有设置,缺省值为 None

字典增加和修改

  • d[key] = value
    • 将 key 对应的值修改为 value
    • key 不存在,添加新的 kv 对
  • update([other])
    • 使用另一字典的 kv 对更新本字典
    • key 不存在就添加
    • key 存在,覆盖 key 对应的值
    • 举例:d1.update(d2,'red'=1) #d2 后面是二元组就行

字典删除

  • pop(key[,default])
    • key 存在,移除它,并返回 None
    • key 不存在,返回给定的 default
    • default 未设置,key 不存在抛 keyError 异常
  • popitem()
    • 移除并返回一个任意的 kv 对
    • 字典为 empty,抛 keyError 异常
  • clear()
    • 清空字典
  • del 语句
    • 删除的是对象的引用,本质上删除的是名称,而不是对象

字典遍历

  • 遍历 key

    • for k in d:
          print(k)
      
    • for k in d.keys():
          print(k)
      
  • 遍历 value

    • for k in d:
          print(d[k])
      
    • for k in d.keys():
          print(d.get(k))
      
  • 遍历 item,即 kv 对

    • for item in d.items():
          print(item)
      
    • for k,v in d.items():
          print(k,v)
      
  • 在 python3 中,keys,values,items 方法返回一个类似一个生成器的可迭代对象,不会把函数的返回结果复制到内存中


posted @ 2020-04-02 13:43  你的脚印我的世界  阅读(140)  评论(0)    收藏  举报