zoukankan      html  css  js  c++  java
  • 迭代字典中的key和value

    字典是python中十分重要的一个内容。
    今天我们来谈谈,在一个 for 循环中,能否同时迭代 key和value?当然可以咯。

    dict 对象的 items() 方法返回的值:

    >>> d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
    >>> print d.items()
    [('Lisa', 85), ('Adam', 95), ('Bart', 59)]
    
    >>> for key,value in d.items():
        print key,':',value
    

      

    items() 方法把dict对象转换成了包含tuple的list,我们对这个list进行迭代,可以同时获得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。

    我们可以这样实现:

    d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59, 'Paul': 74 }
    for key, value in d.iteritems():
        print "%s : %d" % (key,value)
    L=(sum(d.itervalues())/float(len(d)))
    print '%.2f'%L
    

      

    或者:

    d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59, 'Paul': 74 }
    sum=0.0
    for k,v in d.items():
        sum+=v
        print k,':',v
    print 'average',':',sum/len(d)
    

      

  • 相关阅读:
    spark-2.0.0与hive-1.2.1整合
    kafka_2.11-0.10.0.0安装步骤
    hive-1.2.1安装步骤
    linux时间编程
    gdb与coredump
    linux下静态库、动态库的创建与使用
    linux常用工具
    js数组、内置对象、自定义对象
    JS学习五(js中的事件)
    JS学习四(BOM DOM)
  • 原文地址:https://www.cnblogs.com/lingan-hong/p/6260011.html
Copyright © 2011-2022 走看看