在介绍 Python 的内置函数 enumerate 函数之前,请各位看官回想一下自己一般情况下是如何使用 for 循环的。
假设存在一个列表,我们需要打印出这个列表中的每个元素以及他们所在的位置,打印的出来的格式为:
你的第一反应是不是应该按照下面的格式呢:
如果是这样的,也就是你的第一反应是使用:range(len(...)) 那也许你确实应该了解了解 enumerate 这个内置函数。上面的写法属于 C 语言或者 Java 语言的写法。作为一名 Python 编程人员,你应该使用更加地道的写法,即调用 enumerate 函数。
enumerate 用法简介
在自带的 IDEL 窗口中输入:help(enumerate)可以得到如下的信息:
这是在 python 2.7.13 版本中的结果,与 python 3.6 中的略有不同。在 2.7.13 版本中, enumerate 对象有一个 next 方法。但是在 3.6 版本中,没有了这个方法,转而成为 __next__ 重载运算符。
基本用法
enumerate 函数的基本用法是用于得到元素及其对应的索引,如下所示:
enumerate 函数的第一参数必须是一个可迭代的对象,例如列表。使用这个函数,我们得到由元素和索引组成的元组。于是乎,我们一开始提到的那个问题:打印列表中的元素及其对应的位置,就可以使用如下的代码:
使用 enumerate 函数可以自动返回元素的索引,无需我们手动设置,这样写出的 Python 代码才更加地道。
enumerate 函数还有一个缺省的参数,用于设置索引的初始值。如果我们想要打印元素时,索引从 1 开始,而不是 0 应该怎么做呢?
以上便是 enumerate 的基本用法。如果你想了解更过的内容,推荐可以学习一点关于生成器,迭代器以及参数解包的内容。
领取专属 10元无门槛券
私享最新 技术干货