1、clear
清除字典中所有的项。
>>> x = {}
>>> y = x
>>> x[‘key‘] =
‘value‘
>>> y #共享X的内容
{‘key‘: ‘value‘}
>>> x.clear() #如果用 x={ }置空,y的内容不会消失
>>> y
{}
2、copy
返回一个具有相同键--值对的新字典(浅复制 shallow
copy,值的本身是相同的,但不是副本)
>>> x = {‘username‘:‘admin‘,‘machines‘:[‘foo‘,‘bar‘,‘baz‘]}
>>> y =
x.copy()
>>>
y[‘username‘] = ‘mlh‘
>>>
y[‘machines‘].remove(‘bar‘)
>>> y
{‘username‘: ‘mlh‘, ‘machines‘: [‘foo‘, ‘baz‘]}
>>> x
{‘username‘:
‘admin‘, ‘machines‘: [‘foo‘, ‘baz‘]} #移除的值变化,修改的值没变
避免这个问题可以使用深复制(deep copy)
>>> from copy
import deepcopy
>>> d = {}
>>> d[‘names‘] = [‘Alfred‘,‘Bertrand‘]
>>> c =
d.copy()
>>> dc =
deepcopy(d)
>>> d[‘names‘].append(‘Clive‘)
>>> c
{‘names‘: [‘Alfred‘, ‘Bertrand‘, ‘Clive‘]}
>>> dc
{‘names‘: [‘Alfred‘, ‘Bertrand‘]}
3、fromkeys
使用给定的键建立新的字典,每个键默认对应的值为None
>>>
{}.fromkeys([‘name‘,‘age‘])
{‘age‘: None, ‘name‘:
None}
>>>
dict.fromkeys([‘name‘,‘age‘])
{‘age‘: None, ‘name‘:
None}
>>> dict.fromkeys([‘name‘,‘age‘],‘(unknown)‘)
# 指定值
{‘age‘: ‘(unknown)‘,
‘name‘: ‘(unknown)‘}
4、get
访问字典项的方法(当项不存在时不会报错)
>>> d = {}
>>> print d.get(‘name‘) # 空字典,返回一个None
None
>>>
d.get(‘name‘,‘N/A‘)
‘N/A‘
>>> d[‘name‘]
= ‘Eric‘
>>>
d.get(‘name‘)
‘Eric‘
5、has_key
检查字典中是否含有给出的键 (3.0中没有这个函数了)
>>> d = {}
>>>
d.has_key(‘name‘)
False
>>> d[‘name‘]
= ‘Eric‘
>>>
d.has_key(‘name‘)
True
6、items 和 iteritems
items 方法将所有的字典项以列表方式返回
>>> d = {‘title‘:‘python web
site‘,‘url‘:‘http://www.python.org‘, ‘spam‘:0 }
>>> d.items()
[(‘url‘, ‘http://www.python.org‘), (‘spam‘, 0), (‘title‘, ‘python web
site‘)] # 键-值没有顺序
iteritems 和上面效果类似,但返回一个迭代器对象
>>> it =
d.iteritems()
>>> it
<dictionary-itemiterator object at 0xb73212fc>
# 对象
>>> list(it)
[(‘url‘, ‘http://www.python.org‘), (‘spam‘, 0),
(‘title‘, ‘python web site‘)]
7、keys 和 iterkeys
keys方法将字典中的键以列表形式返回,而iterkeys则返回针对键的迭代器
8、pop 和 popitem
pop方法用来获得对应也给定键的值
>>> d =
{‘x‘:‘1‘,‘y‘:‘2‘}
>>> d.pop(‘x‘)
‘1‘
>>> d
{‘y‘: ‘2‘}
popitem方法,类似与pop但不要带键 (注意字典没有“最后的元素”或者顺序的概念)
>>> d =
{‘x‘:‘1‘,‘y‘:‘2‘,‘z‘:‘3‘}
>>>
d.popitem()
(‘y‘, ‘2‘)
>>> d
{‘x‘: ‘1‘, ‘z‘: ‘3‘}
9、setdefault
获得与给定键相关联的值,给不含给定键设值
>>> d = {}
>>>
d.setdefault(‘name‘,‘N/A‘)
‘N/A‘
>>> d
{‘name‘: ‘N/A‘}
>>>
d[‘name‘]=‘hello‘
>>>
d.setdefault(‘name‘,‘N/A‘)
‘hello‘
>>> d
{‘name‘: ‘hello‘}
10、update
利用一个字典更新另外一个字典
>>> d =
{‘title‘:‘python web
site‘,‘url‘:‘http://www.python.org‘,‘changed‘:‘2014-02-15‘}
>>> x =
{‘title‘:‘python language website‘}
>>>
d.update(x)
>>> d
{‘url‘: ‘http://www.python.org‘, ‘changed‘:
‘2014-02-15‘, ‘title‘: ‘python language website‘}
11、values 和 itervalues
values
方法以列表的形式返回字典中的值,itervalues返回值的迭代器
>>> d = {}
>>> d[1] = 1
>>> d[2] = 2
>>> d[3] = 3
>>> d[4] = 1
>>> d.values()
[1, 2, 3, 1] # 返回键的列表不同的时,返回值的列表中可以包含重复的元素