如何使用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')]
这样,就把一个列表中的所有元素都变成了元素和索引的元组,方便我们在代码中使用。
