《Python语言程序设计》 —2.5.3 索引
2.5.3 索引
对于2.5.1节的代码清单2-17,如果希望不仅获取每一个元素的值,而且能获取每一个元素的索引,则可以改成代码清单2-22中所示方式,即通过len函数获取可迭代对象中的元素数量,再通过range函数生成由所有元素索引组成的可迭代对象。
代码清单2-22 同时访问索引和元素值
1 ls=['Python','C++','Java']
2 for k in range(len(ls)): #k为每一个元素的索引
3 print(k,ls[k]) #通过ls[k]可访问索引为k的元素
执行完毕后,输出结果如下:
0 Python
1 C++
2 Java
即先输出每个元素的索引,再输出该元素的值。
除了上面的实现方式外,还可以通过一种更简洁的方式利用enumerate函数来访问每个元素的索引,如下面的代码所示。
1 ls=['Python','C++','Java']
2 for k,v in enumerate(ls): #k保存当前元素索引,v保存当前元素值
3 print(k,v)
执行完毕后,输出结果与代码清单2-22完全相同。
enumerate函数的功能是将一个可迭代对象组成一个索引序列(enumerate)对象,利用这个索引序列对象可以同时获得每个元素的索引和值。enumerate函数还可以指定索引的起始值,如代码清单2-23所示。
代码清单2-23 enumerate函数指定索引起始值
1 ls=['Python','C++','Java']
2 for k,v in enumerate(ls,1): #索引从1开始(默认为0)
3 print(k,v)
执行完毕后,输出结果如下:
1 Python
2 C++
3 Java
思考 在代码清单2-23中,将enumerate(ls,1)改为enumerate(ls,3),则程序执行完毕后会输出什么结果呢?
- 点赞
- 收藏
- 关注作者
评论(0)