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