python中enumerate函数用法实例分析

(编辑:jimmy 日期: 2024/9/24 浏览:2)

本文实例讲述了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程序设计有所帮助。

一句话新闻

一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?