字典
- 函数dict

len(d)返回字典d包含的项(键-值对)数
d[k] 返回与键k相关联的值
d[k]=v 将值v关联到键k
del d[k] 删除键为k的项
k in d 检查字典d是否包含键为k的项
- 字典方法
clear
方法clear删除所有的字典项

copy
方法copy返回一个新字典,其包含的键-值对与原来的字典相同(这个方法执行的是浅复制,因为值本身是原件,而非副本)
当替换副本中的值时,原件不受影响。然而,如果修改副本中的值(就地修改而不是替换),原件也将发生变化,因为原件指向的也是被修改的值

执行深复制,即同时复制值及其包含的所有值

fromkeys
方法fromkeys创建一个新字典,其中包含指定的键,且每个键对应的值都是None,如果不想使用默认值None,可提供特定的值

get 使用get来访问不存在的键时,没有引发异常,而是返回None.你可指定"默认"值


字典方法示例
people = {
'xiaoming':{
'phone':'123456',
'addr':'hahaha'
},
'huahua':{
'phone':'120',
'addr':'hehehe'
}
}
labels = {
'phone':'phnoe number',
'addr':'address'
}
name = input('name: ')
request = input('Phone number (p) or address (a)? ')
key = request
if request == 'p':key='phone'
if request == 'a':key='addr'
person = people.get(name, {})
label = labels.get(key,key)
resutl = person.get(key, 'not available')
print("{}'s {} is {}.".format(name,label,resutl))
- items
方法items返回一个包含所有字典想的列表,其中每个元素都为(key,value)的形式。字典项在列表中的排列顺序不确定

将字典项复制到列表中

pop
方法pop可用于获取与指定键相关联的值,并将该键-值对从字典中删除

popitem
方法Popitem类似于list.pop,但list.pop弹出列表中的最后一个元素,而popltem随机的弹出一个字典项,因为字典项的顺序是不确定的,没有“最后一个元素”的概念。如果你要以高效的方式逐个删除并处理所有字典项,这可能很有用,因为这样无需先获取键列表。

setdefault
方法setdefault有点像get,因为它也获取与指定相关联的值,但除此之外,setdefault还在字典不包含指定的键时,在字典中添加指定的键-值对

指定的键不存在时,setdefault返回指定的值并相应的更新字典。如果指定的键存在,就返回其值,并保持字典不变。与get 一样,值是可选的;如果没有指定,默认为None

update
方法Update使用一个字典中的项来更新另一个字典 
values
方法values返回一个有字典中的值组成的字典视图。不同于方法keys,方法values返回的视图可能包含重复的值

浙公网安备 33010602011771号