04-6数据类型-字典

字典概念:无序的, 可变的键值对集合

定义

  • 方式1
    {key: value, key: value…}

      	例如:{"name": "sz", "age": 18}
    
  • 方式2
    fromkeys(S, v=None)
    静态方法:类和对象都可以调用

    • 类调用
      dict.fromkeys(“abc”, 666)
      {‘a’: 666, ‘c’: 666, ‘b’: 666}
      此处的dict, 是指字典类型
    • 对象调用
      dic.fromkeys(“abc”, 666)
      {‘a’: 666, ‘c’: 666, ‘b’: 666}
      此处的dic, 是实例化的字典对象
      注意 key不能重复 如果重复 后值会把前值覆盖 key必须是任意不可变类型

常用操作

dic[key] = value,当key在原字典中不存在时, 即为新增操作

  • del dic[key] ,key, 必须要存在
  • dic.pop(key[, default])
    删除指定的键值对, 并返回对应的值
    如果key, 不存在, 那么直接返回给定的default值; 不作删除动作
    如果没有给定默认值, 则报错
  • dic.popitem()
    删除按升序排序后的第一个键值对, 并以元组的形式返回该键值对
    如果字典为空, 则报错
  • dic.clear()
    删除字典内所有键值对
    返回None
    注意, 字典对象本身还存在, 只不过内容被清空 注意和del的区别

只能改值, 不能改key

  • 修改单个键值对
    dic[key] = value
    直接设置, 如果key不存在, 则新增, 存在则修改
  • 批量修改键值对
    oldDic.update(newDic)
    根据新的字典, 批量更新旧字典中的键值对
    如果旧字典没有对应的key, 则新增键值对
  • 获取单个值
    • 方式1
      dic[key];如果key, 不存在, 会报错

    • 方式2
      dic.get(key[, default])
      如果不存在对应的key, 则取给定的默认值default
      如果没有默认值, 则为None,不会报错
      但是, 原字典不会新增这个键值对

    • 方式3
      dic.setdefault(key[,default])
      获取指定key对应的值
      如果key不存在, 则设置给定默认值, 并返回该值
      如果默认值没给定
      则使用None代替

  • 获取所有的值
    dic.values()
  • 获取所有的键
    dic.keys()
  • 获取字典的键值对
    dic.items()
  • 遍历
    for in
    for x,y in info.items()
    注意 Python2.x和Python3.x版本之间关于获取键, 获取值, 获取item, 之间的区别 Python2.x 直接是一个列表 可通过下标进行获取指定元素 Python3.x 中是Dictionary view objects 优势 当字典发生改变时, view objects会跟着发生改变 转换成列表使用 list(result) 转换成迭代器 iter(result) 也可以直接被遍历
计算
  • len(info)
    键值对的个数
判定
  • x in dic
    判定dic中的key, 是否存在x
  • x not in dic
    判定dic中的key, 是否不存在x

猜你喜欢

转载自blog.csdn.net/smartcongge/article/details/82932445