概述
在Python中,enumrate和range都常用于for循环中,enumrate函数用于同时循环列表和元素,而range()函数可以生成数值范围变化的列表,而能够用于for循环即都是可迭代的。
range概述
range是用于产生连续或者带步长的数字元素组成的列表,下面是一些基本使用及场景示例。
产生数字序列
# 产生0-9的序列
for i in range(0, 10):
print(i)
print('-' * 40)
# 产生0-20,步进(间隔)为3的数字元素组成的序列
for j in range(0, 21, 3):
print(j)
示例结果:
0
1
2
3
4
5
6
7
8
9
----------------------------------------
0
3
6
9
12
15
18
利用range遍历修改列表
range
最多的使用场景就是修改循环修改列表,即利用range
构建列表的索引循环修改列表。
L = [1,2,3,4,5]
for i in range(len(L)):
L[i] = L[i] ** 2
print(L[i])
示例结果:
1
4
9
16
25
enumrate概述
当我们即想获取序列的索引和序列元素呢? 我们可以利用enumrate
同时迭代序列的索引和元素。
L = [1,2,3,4,5]
for i, value in enumerate(L):
print(i, '-->',value)
0 --> 1
1 --> 2
2 --> 3
3 --> 4
4 --> 5