Python enumerate() 函数用法

2023-09-17 22:27:43

enumerate() 是一个构造函数方法,返回给定的可迭代对象、序列、迭代器或支持迭代的对象enumerate类的对象。 返回的枚举对象包含可迭代对象中每个项的元组,其中包括索引和通过迭代可迭代获得的值。

语法:

enumerate(iterable, start=0)

参数:

可迭代
  1. :必须向其添加枚举器的可迭代对象。
  2. 开始:(可选)起始索引。默认值为 0。

返回值:

返回一个enumerate对象。

下面的示例获取列表的枚举类的对象,并将枚举转换为列表。

cities = ['Delhi','Chicago','New York']
enum = enumerate(cities) 
print(type(enum))
enumlist = list(enum)
print(enumlist)

输出:

<type 'enumerate'>
[(0, 'Delhi'), (1, 'Chicago'), (2, 'New York')]

在上面的例子中,默认索引从 0 开始,但我们可以将初始计数器更改为任何数字。

cities = ['Delhi','Chicago','New York']
enum = enumerate(cities, start=5)
print(list(enum))

输出:

[(5, 'Delhi'), (6, 'Chicago'), (7, 'New York')]

enumerate()函数可以与循环一起使用,如下所示。

for index, city in enumerate(cities):
    print(index,city)

输出:

0 Delhi
1 Chicago
2 New York

上面的 for-in 循环调用枚举的 __next__() 方法,该方法删除并返回每个元素,如下所示。

cities = ['Delhi','Chicago','New York']
enum = enumerate(cities)
print(enum.__next__())
print(enum.__next__())
print(enum.__next__())

输出:

(0, 'Delhi')
(1, 'Chicago')
(2, 'New York')