📜  带索引的 python 循环 - Python (1)

📅  最后修改于: 2023-12-03 15:09:46.216000             🧑  作者: Mango

带索引的 Python 循环

在 Python 中,我们可以使用 for 循环来遍历一个列表、元组、字符串等可迭代对象中的每一个元素。但是,在很多情况下,我们需要知道当前所遍历元素的索引,这时需要使用带索引的 Python 循环。

使用 enumerate() 函数

Python 提供了一个内置函数 enumerate(),它可以将一个可迭代对象转换为一个枚举对象,其中每个元素都是一个包含当前索引和对应元素的元组。

fruits = ['apple', 'banana', 'orange']
for index, fruit in enumerate(fruits):
    print(index, fruit)

输出:

0 apple
1 banana
2 orange

在上面的例子中,enumerate() 函数将列表 fruits 转化为一个枚举对象,每个元素都是一个包含当前索引和对应元素的元组。在 for 循环中,可以使用两个变量 indexfruit 分别接收每个元素的索引和值,然后打印出来。

需要注意的是,枚举对象的起始索引可以通过第二个参数进行指定。例如,enumerate(fruits, start=1) 可以将起始索引设为 1。

使用 range() 函数和 len() 函数

在某些情况下,可能需要在循环中手动计算索引。此时,可以使用 range() 函数和 len() 函数来实现。

fruits = ['apple', 'banana', 'orange']
for i in range(len(fruits)):
    print(i, fruits[i])

输出:

0 apple
1 banana
2 orange

在上面的例子中,range(len(fruits)) 可以生成一个从 0 到 len(fruits) - 1 的整数序列。在 for 循环中,可以使用 range() 函数生成的索引来访问列表中的元素。

需要注意的是,使用 range()len() 函数来遍历列表的性能比使用 enumerate() 函数来遍历列表要差一些,因为每次循环都需要计算列表的长度。因此,建议仅在必要时使用这种方式。

小结

带索引的 Python 循环可以使用 enumerate() 函数或 range() 函数和 len() 函数来实现,具体选择哪种方式取决于具体的需求和性能要求。在实际使用中,建议充分利用内置函数来简化代码、提高效率。