python

超轻量级php框架startmvc

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

更新时间:2020-06-05 09:30:01 作者:startmvc
本文实例讲述了Python实现字典(dict)的迭代操作。分享给大家供大家参考,具体如下:#!/usr/bi

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


#!/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 字典 dict 迭代