Python中enumerate()函数编写更Pythonic的循环

yipeiwu_com7年前Python基础

enumerate函数

enumerate是一个Python内置函数,一个功能强大的内置函数。其实功能强大不足以形容它, 但是很难用一个词来形容它的用途。

让我们来看看一个使用enumerate进行循环的例子

names = ['李四', '张三', '王二']
for index, name in enumerate(names):
  print(f'{index}: {value}') 

下面是这个循环的结果

0: 李四
1: 张三
2: 王二

这通常是一个很有用的方式去循环,但很多初学者甚至中级开发人员都不知道这一点。通常来说,他们的代码会这样写(需要注意的是,这是一种不好的写法)

names = ['李四', '张三', '王二']
for i in range(len(names)):
  print(i, my_items[i])

另外一点是,我们可以指定循环的索引,例如

names = ['李四', '张三', '王二']
for index, name in enumerate(names, 1):
  print(f'{index}: {value}') 

结果如下

1: 李四
2: 张三
3: 王二

关于enumerate的另一个重要的知识点是,他的内部实现使用的是迭代器,所以当需要循环的对象特别大的时候我们不用浪费许多资源去全部展开。

相关文章

Python实现简单拆分PDF文件的方法

本文实例讲述了Python实现简单拆分PDF文件的方法。分享给大家供大家参考。具体如下: 依赖pyPdf处理PDF文件 切分pdf文件 使用方法: 1)将要切分的文件放在input_di...

python中的字典操作及字典函数

字典 dict_fruit = {'apple':'苹果','banana':'香蕉','cherry':'樱桃','avocado':'牛油果','watermelon':'西瓜'...

Python动态语言与鸭子类型详解

今天来说说编程语言中的动态类型语言与鸭子类型。 动态语言 维基百科对动态语言的定义: 动态编程语言是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数...

rhythmbox中文名乱码问题解决方法

sudo apt-get install python-mutagen mid3iconv -e gbk *.mp3 将中文歌曲名转换编码 当前目录下的所有 mp3 (包括子目录) fi...

python list格式数据excel导出方法

如下所示: # _*_ coding:utf-8 _*_ #----------------------------------------------- # import mod...