如何遍历一个数组,相信像我一样的小白第一反应是
arr = ['a', 'b', 'c', 'd', 'e']
# 遍历获得每一个元素
for val in arr:
print("val", val)
# 遍历获得index,然后通过index获得数组的元素
for idx in range(len(arr)):
print("val", arr[idx])
那么有没有办法同时获得index,val呢,有,需要用到enumerate函数
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列
打印一下 enumerate(arr)
arr = ['a', 'b', 'c', 'd', 'e']
print(enumerate(arr))
# 控制台显示: <enumerate object at 0x00000232B02C4B00>
遍历 enumerate
arr = ['a', 'b', 'c', 'd', 'e']
for obj in enumerate(arr):
print(type(obj), obj)
# 控制台打印:
# <class 'tuple'> (0, 'a')
# <class 'tuple'> (1, 'b')
# <class 'tuple'> (2, 'c')
# <class 'tuple'> (3, 'd')
# <class 'tuple'> (4, 'e')
既然for循环遍历时,每一个元素都是一个元祖,那么for obj 就可以改为解构赋值。
arr = ['a', 'b', 'c', 'd', 'e']
for index, val in enumerate(arr):
print(index, val)
# 控制台打印:
# 0 a
# 1 b
# 2 c
# 3 d
# 4 e