字典
创建字典
键(key)必须使用不可变类型。在同一个字典中,键(key)必须是唯一的。
基本的字典操作
- len(d) 返回字典 d 包含的项(键值对)数。
- d[k] 返回与键 k 相关联的值。
- d[k] = v 将值 v 关联到键 k 。
- del d[k] 删除键为 k 的项。
- k in d 检查字典 d 是否包含键为 k 的项。
字典方法
clear
方法 clear 删除所有的字典项,这种操作是就地执行的(就像 list.sort 一样),因此什么都不返回(或者说返回 None )。
copy与deepcopy
- 方法 copy 返回一个新字典,其包含的键值对与原来的字典相同(这个方法执行的是浅复制,因为值本身是原件,而非副本)。
- 当替换副本中的值时,原件不受影响。然而,如果修改副本中的值(就地修改而不是替换),原件也将发生变化,因为原件指向的也是被修改的值
- 深复制,即同时复制值及其包含的所有值
fromkeys
方法 fromkeys 创建一个新字典,其中包含指定的键,且每个键对应的值都是 None 。
get
使用 get 来访问不存在的键时,返回 None 。指定“默认”值,这样将返回你指定的值而不是 None 。如果字典包含指定的键, get 的作用将与普通字典查找相同。
items
- 方法 items 返回一个包含所有字典项的列表,其中每个元素都为 (key, value) 的形式。字典项在列表中的排列顺序不确定。
- 返回值属于一种名为字典视图的特殊类型。字典视图可用于迭代
keys
方法 keys 返回一个字典视图,其中包含指定字典中的键。
pop
方法 pop 可用于获取与指定键相关联的值,并将该键值对从字典中删除。
popitem
方法 popitem 类似于 list.pop ,但 list.pop 弹出列表中的最后一个元素,而 popitem 随机地弹出一个字典项
setdefault
方法 setdefault 有点像 get ,因为它也获取与指定键相关联的值,但除此之外, setdefault还在字典不包含指定的键时,在字典中添加指定的键-值对。
指定的键不存在时, setdefault 返回指定的值并相应地更新字典。如果指定的键存在,就返回其值,并保持字典不变。值是可选的;如果没有指定,默认为 None 。
values
方法 values 返回一个由字典中的值组成的字典视图。不同于方法 keys ,方法 values 返回的视图可能包含重复的值。