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