Bootstrap

字典操作(获取类操作、添加更新类操作、字典删除类操作)

字典数据获取类操作

  • keys() 用来获取字典中所有的 key, 保存到一个列表中,并以 dict_keys类型返回
    stu = {'name': 'Tom', 'age': 23, 'gender': 'male', 'address': 'BeiJing'}
    ks = stu.keys()
    print(ks)
    
  • values() 用来获取字典中所有的 value ,保存到一个列表中,并以 dict_values 类型返回
    stu = {'name': 'Tom', 'age': 23, 'gender': 'male', 'address': 'BeiJing'}
    ks = stu.values()
    print(ks)
    
  • items() 用来获取字典中所有的键值对,每一个元素键值对都以一个元组保存,将所有元素元组保存到一个列表中,并以 dict_items 类型返回
    stu = {'name': 'Tom', 'age': 23, 'gender': 'male', 'address': 'BeiJing'}
    ks = stu.items()
    print(ks)
    
  • get(key, default) 用来获取 key 对应的值,如果指定的 key 不存在,则返回默认值。

    字典可以使用 字典对象[key] 的形式获取键值对,但是该方法如果指定的 key 不存在,程序会抛出一个错误。此时可以使用 get() 替代该取值方法

    stu = {'name': 'Tom', 'age': 23, 'gender': 'male', 'address': 'BeiJing'}
    # print(stu["name"])
    # print(stu["hobby"])
    print(stu.get("name"))
    print(stu.get("hobby"))
    print(stu.get("hobby","无数据"))
    

字典添加更新类操作

  • setdefault(key,default) 给一个不存在的 key 添加一个默认值并将该键值对保存到字典中。

    在一些场景下,字典的 key 存在,但是该 key 却没有对应的值,此时,就可以使用该方法,为当前的 key 添加一个默认值。比如服务端要保存客户端发起请求时携带的请求头中的信息。

    stu = {'name': 'Tom', 'age': 23, 'gender': 'male', 'address': 'BeiJing'}
    
    stu.setdefault("hobby1")
    print(stu)
    stu.setdefault("hobby2", "无")
    print(stu)
    
  • fromkeys(keys,val) 用于创建一个新字典,以序列 keys 中元素做字典的键,value 为字典所有键对应的初始值,默认为 None

    该方法是一个静态方法,需要使用字典类型名 dict 调用。 该方法如果给给定 keys 参数,则所有的key对应值都为默认值 None,如果给定 val 值,则所有 key 对应的值为 val

    ks = ("name", "age", "gender")
    s1 = dict.fromkeys(ks)
    print(s1)
    
    s2 = dict.fromkeys(ks,"无")
    print(s2)
    
  • update(dict | iterable) 使用参数中的数据更新当前字典。

    该方法的参数可以接收一个字典(大多数的使用方式),也可以接收一个可迭代对象,如果参数数据中的 key 在当前字典中存在,则使用新值更新字典中的键值对,如果参数数据中的 key 在当前字内中不存在,则将键值对添加到当前字典中。

    # 更新目标数据是一个字典
    stu = {'name': 'Tom', 'age': 23, 'gender': 'male', 'address': 'BeiJing'}
    newStu = {"name":"Jack","hobby":"eat"}
    stu.update(newStu)
    print(stu)
    # 更新目标数据是一个可迭代对象
    stu = {'name': 'Tom', 'age': 23, 'gender': 'male', 'address': 'BeiJing'}
    newStu = (("name","Rose"),["hobby","play"])
    stu.update(newStu)
    print(stu)
    

字典删除类操作

  • popitem() 用来获取并删除字典中的最后一个键值对,返回一个元组,如果字典为空时,则抛出一个错误
    stu = {'name': 'Tom', 'age': 23, 'gender': 'male', 'address': 'BeiJing'}
    v = stu.popitem()
    print(v)
    print(stu)
    
    v = stu.popitem()
    print(v)
    print(stu)
    
    print({}.popitem())
    
  • pop(key) 用于获取并删除字典中指定 key 对应的键值对。如果指定的 key 不存在,则抛出错误
    stu = {'name': 'Tom', 'age': 23, 'gender': 'male', 'address': 'BeiJing'}
    v = stu.pop("name")
    print(v)
    print(stu)
    
  • clear() 清空字典中所有的键值对元素
    stu = {'name': 'Tom', 'age': 23, 'gender': 'male', 'address': 'BeiJing'}
    
    print(stu)
    stu.clear()
    print(stu)
;