迭代dict的key和value

Posted ORACLE EBS

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了迭代dict的key和value相关的知识,希望对你有一定的参考价值。

我们了解了如何迭代 dictkeyvalue,那么,在一个 for 循环中,能否同时迭代 key和value?答案是肯定的。

首先,我们看看 dict 对象的 items() 方法返回的值:

>>> d = { ‘Adam‘: 95, ‘Lisa‘: 85, ‘Bart‘: 59 }
>>> print d.items()
[(‘Lisa‘, 85), (‘Adam‘, 95), (‘Bart‘, 59)]

可以看到,items() 方法把dict对象转换成了包含tuple的list,我们对这个list进行迭代,可以同时获得key和value:

>>> for key, value in d.items():
...     print key, ‘:‘, value
...
Lisa : 85
Adam : 95
Bart : 59

和 values() 有一个 itervalues() 类似, items() 也有一个对应的 iteritems(),iteritems() 不把dict转换成list,而是在迭代过程中不断给出 tuple,所以, iteritems() 不占用额外的内存。

任务

请根据dict:

d = { ‘Adam‘: 95, ‘Lisa‘: 85, ‘Bart‘: 59, ‘Paul‘: 74 }

打印出 name : score,最后再打印出平均分 average : score。

?不会了怎么办

需要同时对 name 和 score 进行迭代。

参考代码:

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)

 

Lisa : 85
Paul : 74
Adam : 95
Bart : 59
average : 78.25

以上是关于迭代dict的key和value的主要内容,如果未能解决你的问题,请参考以下文章

迭代dict的value

python的简单迭代

python 的迭代

Python迭代dict的value转载http://www.imooc.com/learn/177

zip(), dict(), itertools.repeat(), list(迭代器)

Python~迭代