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}