python中enumerate函数用法实例分析

yipeiwu_com6年前Python基础

本文实例讲述了python中enumerate函数用法。分享给大家供大家参考。具体分析如下:

今日发现一个新函数 enumerate 。一般情况下对一个列表或数组既要遍历索引又要遍历元素时,会这样写:

for i in range (0,len(list)): 
  print i ,list[i]

但是这种方法有些累赘,使用内置enumerrate函数会有更加直接,优美的做法,先看看enumerate的定义:

def enumerate(collection): 
  'Generates an indexed series: (0,coll[0]), (1,coll[1]) ...'   
   i = 0 
   it = iter(collection) 
   while 1: 
   yield (i, it.next()) 
   i += 1

enumerate会将数组或列表组成一个索引序列。使我们再获取索引和索引内容的时候更加方便如下:

for index,text in enumerate(list)): 
  print index ,text

在cookbook里介绍,如果你要计算文件的行数,可以这样写:

count = len(open(thefilepath,'rU').readlines())

前面这种方法简单,但是可能比较慢,当文件比较大时甚至不能工作,下面这种循环读取的方法更合适些。

Count = -1 
For count,line in enumerate(open(thefilepath,'rU')): 
  Pass
Count += 1

希望本文所述对大家的python程序设计有所帮助。

相关文章

Python中用字符串调用函数或方法示例代码

前言 本文主要给大家介绍了关于Python用字符串调用函数或方法的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 先看一个例子: >>> def fo...

python用装饰器自动注册Tornado路由详解

第一个版本 在这个版本中,首先创建了 RouterConfig 对象,其构造方法创建了 tornado.web.Application() 并赋值为 self.Application ,...

解决pandas read_csv 读取中文列标题文件报错的问题

从windows操作系统本地读取csv文件报错 data = pd.read_csv(path) Traceback (most recent call last): Fi...

pytorch的梯度计算以及backward方法详解

pytorch的梯度计算以及backward方法详解

基础知识 tensors: tensor在pytorch里面是一个n维数组。我们可以通过指定参数reuqires_grad=True来建立一个反向传播图,从而能够计算梯度。在pytorc...

使用python进行波形及频谱绘制的方法

如下所示: # -*- coding: UTF-8 -*- import wave import numpy as np import matplotlib.pyplot as pl...