aDict = {'key1':'value1', 'key2':'value2', 'key3':'value3'}#遍歷aDict中的key,并利用key索引出values:print '-----------item-------------'for (k,v) in aDict.items(): print '%s:%s' %(k, v)#aDict.item():返回的是一個列表,元素是每組key和value組成的tuple:[(key1,value1),...,(key3,value3)]所以前面的(k,v)用的是values模式print '------------iteritems---------'for k,v in aDict.iteritems(): print '%s:%s' % (k, v)#一個迭代器函數。print '---------iterkeys---------------'for k in aDict.iterkeys(): print '%s:%s' % (k, aDict[k])#類似于第一種情況 得到一個keyprint '------------iterkeys, itervalues----------'for k,v in zip(aDict.iterkeys(), aDict.itervalues()): print '%s:%s' % (k, v)#區別于第二種情況,得到一個value#所以比較難理解的是第二和三種情況。item代表一個key和一個對應的value。下面是自己的代碼輸出試驗。n [30]: aDict = {'key1':'value1', 'key2':'value2', 'key3':'value3'}for k in aDict: print kkey3key2key1#只輸出keyfor (k,v) in aDict.items(): print k print v print (k,v)key3value3('key3', 'value3')key2value2('key2', 'value2')key1value1('key1', 'value1')for k in aDict.iteritems(): print k('key3', 'value3')('key2', 'value2')('key1', 'value1')for v in aDict.iteritems(): print v('key3', 'value3')('key2', 'value2')('key1', 'value1')#上面兩組是一樣的。單個的值會返回一組itemsfor k,v in aDict.iteritems(): print k print vkey3value3key2value2key1value1for k in aDict.iterkeys(): print kkey3key2key1for v in aDict.itervalues(): print vvalue3value2value1for k,v in zip(aDict.iterkeys(), aDict.itervalues()): print k print vkey3value3key2value2key1value1#最后注意python 中的dict items 只能保證完整性不能保證順序。這里為什么是321.。。我也不知道。# reference http://Ghostfromheaven.iteye.com/blog/1549441
新聞熱點
疑難解答