首页 > 编程 > Python > 正文

遍历python字典几种方法

2019-11-08 02:28:49
字体:
来源:转载
供稿:网友
aDict = {'key1':'value1', 'key2':'value2', 'key3':'value3'}PRint '-----------dict-------------'for d in aDict:    print "%s:%s" %(d, aDict[d])
#遍历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


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表