11. >>> for key in d :
12. … if key == ‘name’ :
13. … del d [ key ] # 要删除字典的某一项
14. …
15. Traceback ( most recent call last ):
16. File “” , line 1 , in < module >
17. RuntimeError : dictionary changed size during iteration
18. >>>
19. >>> for key in d . keys (): # python2 应该使用这种方式 , python3 使用 list(d.keys())
20. … if key == ‘name’ :
21. … del d [ key ]
22. …
23. >>> d
24. { ‘age’ : 20 }
在上面,我们介绍了两种遍历方式: for key in d 和 for key in d.keys() ,如果在遍历的
时候,要删除键为 key 的某项,使用第一种方式会抛出 RuntimeError ,使用第二种方式则不会。
2.3 判断键是否在字典里面
有时,我们需要判断某个键是否在字典里面,这时可以用 in 进行判断,如下:
1. >>> d = { ‘name’ : ‘ethan’ , ‘age’ : 20 }
2. >>> ‘name’ in d
3. True
4. >>> d [ ‘score’ ] # 访问不存在的键,会抛出 KeyError
5. Traceback ( most recent call last ):
6. File “” , line 1 , in < module >
7. KeyError : ‘score’
8. >>> ‘score’ in d # 使用 in 判断 key 是否在字典里面
9. False
3 字典常用方法
3.1 clear
clear 方法用于清空字典中的所有项,这是个原地操作,所以无返回值(或者说是 None )。
(1) 看看例子:
1. >>> d = { ‘name’ : ‘ethan’ , ‘age’ : 20 }
2. >>> rv = d . clear ()
3. >>> d
4. {}
5. >>> print rv
6. None
(2) 再看看一个例子:
1. >>> d1 = {}
2. >>> d2 = d1
3. >>> d2 [ ‘name’ ] = ‘ethan’
4. >>> d1
5. { ‘name’ : ‘ethan’ }
6. >>> d2
7. { ‘name’ : ‘ethan’ }