python中对字典(dict)的迭代

来源:互联网 发布:c语言 生成随机数 编辑:程序博客网 时间:2024/06/03 16:56
#!/usr/bin/python#coding: utf-8d = { '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 xfor x in d.itervalues():    print x# 迭代键值对for k, v in d.items():    print k, ":", vfor 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 循环去迭代它,可见,迭代是一种抽象的数据操作,它不对迭代对象内部的数据有任何要求。'''

0 0