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