zoukankan      html  css  js  c++  java
  • python enumrate使用

    新接触了一个函数 enumrate ,很多情况下我们想获得可迭代的容器(例如dict、list、tuple等)元素的时候,想同时获得一个序号用以他用。

    代码常常写成这个样子

    list_a = ["apple", "dell", "hp", "ibm"]
    for idx in range(len(list_a)):
        print("idx={0}, content={1}".format(idx, list_a[idx]))

    如果是dict,那么会写成这样子

    dict_a={"a":"apple","b":"banana","o":"orange"}
    idx = 0
    for it in dict_a:
        idx = idx + 1
        print("key[{0}]={1},idx={2}".format(it, dict_a[it], idx))

    但功能有了,美观较差

    这时候enumrate就该出场了。enumrate函数可以同时返回元素和索引号。上面两个例子,可以写成这个样子

    list_a = ["apple", "dell", "hp", "ibm"]
    for idx,val in enumerate(list_a):
        print("idx={0}, content={1}".format(idx, val))

    而输出为

    idx=0, content=apple
    idx=1, content=dell
    idx=2, content=hp
    idx=3, content=ibm

    而dict可以写成这样子

    for idx,key in enumerate(dict_a):
        print("key[{0}]={1},idx={2}".format(key,dict_a[key],idx))

    输出为

    key[b]=banana,idx=0
    key[o]=orange,idx=1
    key[a]=apple,idx=2

    另外学习到其他博主的用法

    如果要统计文件的行数,可以这样写:

    count = len(open(filepath, 'r').readlines())
    

    这种方法简单,但是可能比较慢,当文件比较大时甚至不能工作。

    可以利用enumerate():

    count = 0
    for index, line in enumerate(open(filepath,'r')): 
        count += 1
    

      

  • 相关阅读:
    WebDriverException:Message:'geckodriver'executable needs to be in Path
    如何使用NSDL玩转微信跳一跳
    python多线程下载网页图片并保存至特定目录
    sql之将一个表中的数据注入另一个表中
    sql之分区域分段统计
    sql之分段统计
    ajax二次封装之异步加载
    vue组件之echarts报表
    url查询参数解析
    template.js 数据渲染引擎
  • 原文地址:https://www.cnblogs.com/qggg/p/8410693.html
Copyright © 2011-2022 走看看