Python实现字典(dict)的迭代操作示例

时间:2022-10-11 12:17:18

本文实例讲述了Python实现字典(dict)的迭代操作。分享给大家供大家参考,具体如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/usr/bin/python
# -*- coding:utf-8 -*-
#! python2
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59, 'Paul': 74 }
# 迭代dict的键
for x in d.keys():
  print x
# 也可以采用这种方式迭代
for x in d.iterkeys():
  print x
# 迭代dict的值
for x in d.values():
  print x
for x in d.itervalues():
  print x
# 迭代键值对
for k, v in d.items():
  print k, ":", v
for k, v in d.iteritems():
  print k, ":", v
'''''
上述代码中,对键值或者是键值对迭代的方法都有两种,
以values和itervalues为例,
说明这两种方式的区别
1. values() 方法实际上把一个 dict 转换成了包含 value 的list。
2. 但是 itervalues() 方法不会转换,它会在迭代过程中依次从 dict 中取出 value,
所以 itervalues() 方法比 values() 方法节省了生成 list 所需的内存。
3. 打印 itervalues() 发现它返回一个 <dictionary-valueiterator> 对象,这说明在Python中,
for 循环可作用的迭代对象远不止 list,tuple,str,unicode,dict等,
任何可迭代对象都可以作用于for循环,而内部如何迭代我们通常并不用关心
print d.itervalues()
# <dictionary-valueiterator object at 0x0137F8A0>
关于迭代
如果一个对象说自己可迭代,那我们就直接用 for 循环去迭代它,可见,迭代是一种抽象的数据操作,
它不对迭代对象内部的数据有任何要求。
'''

运行结果:

Lisa
Paul
Adam
Bart
Lisa
Paul
Adam
Bart
85
74
95
59
85
74
95
59
Lisa : 85
Paul : 74
Adam : 95
Bart : 59
Lisa : 85
Paul : 74
Adam : 95
Bart : 59

希望本文所述对大家Python程序设计有所帮助。

原文链接:https://blog.csdn.net/you_are_my_dream/article/details/53160354