字典数据获取类操作
- 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)