欢迎访问宙启技术站
智能推送

如何使用Python中的enumerate函数添加索引到列表中?

发布时间:2023-06-09 17:30:08

在Python中的enumerate函数可以将一个列表或者其他可迭代的对象中的元素添加上索引,并且返回一个嵌套的元组,第一个元素表示索引,第二个元素则表示原本的元素内容。

其使用方法如下:

enumerate(iterable,start=0)

其中,iterable表示一个可迭代的对象,start表示索引的起始值,可以省略,默认从0开始。

比如说,我们有一个列表,我们想要给这个列表添加上索引,可以这么写:

mylist = ['apple', 'banana', 'cherry']
for index, item in enumerate(mylist):
    print(index, item)

这个程序的输出结果是:

0 apple
1 banana
2 cherry

也就是说,enumerate函数为每一个元素添加上了索引,并返回了一个包含了索引和元素的元组的迭代器,然后把每个元组分别赋值给了index和item两个变量。

那么如何把这个迭代器转换成列表呢?很简单,只需要用list函数把迭代器变成一个列表即可:

mylist = ['apple', 'banana', 'cherry']
mylist_with_index = list(enumerate(mylist))
print(mylist_with_index)

这个程序的输出结果是:

[(0, 'apple'), (1, 'banana'), (2, 'cherry')]

这个输出结果就是一个嵌套的元组列表,第一个元素表示索引,第二个元素则是原本的元素。

还有一种常用的方式是,可以使用列表推导式,通过调用enumerate函数将每个元素变成一个元素和索引的元组:

mylist = ['apple', 'banana', 'cherry']
mylist_with_index = [(index, item) for index, item in enumerate(mylist)]
print(mylist_with_index)

这个程序的输出结果和上面一样:

[(0, 'apple'), (1, 'banana'), (2, 'cherry')]

这样,就把一个列表中的所有元素都变成了元素和索引的元组,方便我们在代码中使用。