d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 } print d.values() # [85, 95, 59] for v in d.values(): print v # 85 # 95 # 59
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 } print d.itervalues() # <dictionary-valueiterator object at 0x106adbb50> for v in d.itervalues(): print v # 85 # 95 # 59
若是一个对象说本身可迭代,那咱们就直接用 for 循环去迭代它,可见,迭代是一种抽象的数据操做,它不对迭代对象内部的数据有任何要求。python
咱们了解了如何迭代 dict 的key和value,那么,在一个 for 循环中,可否同时迭代 key和value?答案是确定的。code
首先,咱们看看 dict 对象的 items() 方法返回的值:对象
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 } print d.items() [('Lisa', 85), ('Adam', 95), ('Bart', 59)]
能够看到,items() 方法把dict对象转换成了包含tuple的list。内存
和 values() 有一个 itervalues() 相似, **items() ** 也有一个对应的 iteritems(),iteritems() 不把dict转换成list,而是在迭代过程当中不断给出 tuple,因此, iteritems() 不占用额外的内存。unicode
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59, 'Paul': 74 } sum = 0.0 for k, v in d.iteritems(): sum = sum + v print k,':',v print 'average', ':', sum/len(d)
就这样的,多练多记!!it