Python字典的常用方法
1.1 clear()方法
clear() 用于清空字典中所有的 key-value 对,对一个字典执行 clear() 方法之后,该字典就会变成一个空字典。
scores_dict = {'语文': 105, '数学': 140, '英语': 120}
print(scores_dict) # 输出 {'语文': 105, '数学': 140, '英语': 120}
scores_dict.clear() # 删除字典所有内容
print(scores_dict) # 输出{}
1.2 get()方法
get() 方法其实就是根据 key 来获取 value,它相当于方括号语法的增强版,当使用方括号语法访问并不存在的 key 时,字典会引发 KeyError 错误;但如果使用 get() 方法访问不存在的 key,该方法会简单地返回 None,不会导致错误。例如如下代码:
scores_dict = {'语文': 105, '数学': 140, '英语': 120}
print(scores_dict.get('历史')) # 输出 None
print(scores_dict['历史']) # 报错 KeyError: '历史'
1.3 update()方法
update() 方法可使用一个字典所包含的 key-value 对来更新己有的字典。在执行 update() 方法时,如果被更新的字典中己包含对应的 key-value 对,那么原 value 会被覆盖;如果被更新的字典中不包含对应的 key-value 对,则该 key-value 对被添加进去。例如如下代码:
scores_dict = {'语文': 105, '数学': 140, '英语': 120}
scores_dict.update({'语文': 120, '数学': 110})
print(scores_dict) # 输出{'语文': 120, '数学': 110, '英语': 120}
1.4 items()方法
以列表返回可遍历的(键, 值) 元组数组
scores_dict = {'语文': 105, '数学': 140, '英语': 120}
print(scores_dict.items()) # 输出 dict_items([('语文', 105), ('数学', 140), ('英语', 120)])
1.5 keys()方法
以列表返回一个字典所有的键
scores_dict = {'语文': 105, '数学': 140, '英语': 120}
print(scores_dict.keys()) # 输出 dict_keys(['语文', '数学', '英语'])
1.6 values()方法
以列表返回字典中的所有值
scores_dict = {'语文': 105, '数学': 140, '英语': 120}
print(scores_dict.values()) # 输出 dict_values([105, 140, 120])
1.7 pop()方法
pop() 方法用于获取指定 key 对应的 value,并删除这个 key-value 对。如下方法示范了 pop() 方法的用法:
scores_dict = {'语文': 105, '数学': 140, '英语': 120}
scores_dict.pop('英语') # 删除'英语'的键和值
print(scores_dict) # 输出{'语文': 105, '数学': 140}
1.8 popitem()方法
popitem() 方法用于弹出字典中最后一个key-value对
scores_dict = {'语文': 105, '数学': 140, '英语': 120}
print(scores_dict.popitem()) # 输出('英语', 120)
1.9 setdefault()方法
setdefault() 方法也用于根据 key 来获取对应 value 的值。但该方法有一个额外的功能,即当程序要获取的 key 在字典中不存在时,该方法会先为这个不存在的 key 设置一个默认的 value,然后再返回该 key 对应的值。
scores_dict = {'语文': 105, '数学': 140, '英语': 120}
设置'语文'默认值为100
scores_dict.setdefault('语文', 100)
print(scores_dict) # 输出{'语文': 105, '数学': 140, '英语': 120}
设置'历史'默认值为140
scores_dict.setdefault('历史', 140)
print(scores_dict) # 输出{'语文': 105, '数学': 140, '英语': 120, '历史': 140}
1.10 fromkeys()方法
fromkeys() 方法使用给定的多个key创建字典,这些key对应的value默认都是None;也可以额外传入一个参数作为默认的value。该方法一般不会使用字典对象调用(没什么意义),通常会使用 dict 类直接调用。例如如下代码:
scores_dict = dict.fromkeys(['语文', '数学'])
print(scores_dict) # 输出{'语文': None, '数学': None}
scores_dict = dict.fromkeys(('语文', '数学'))
print(scores_dict) # 输出{'语文': None, '数学': None}
使用元组创建包含2个key的字典,指定默认的value
scores_dict = dict.fromkeys(('语文', '数学'), 100)
print(scores_dict) # 输出{'语文': 100, '数学': 100}