介绍
本篇文章为大家展示了怎么在Python迭代时使用索引,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
<>强索引迭代强>
Python中,<强>迭代永远是取出元素本身,而非元素的索引强>。
对于有序集合,元素确实是有索引的。有的时候,我们确实想在为循环中拿到索引,怎么办?
方法是使用<代码>列举()代码>函数:
在祝辞祝辞,L =,(& # 39;亚当# 39;,,& # 39;丽莎# 39;,,& # 39;巴特# 39;,,& # 39;保罗# 39;】 在祝辞祝辞,for 指数,name 拷贝列举(L): …,,,print 指数,& # 39;& # 39;,,的名字 … 0,安康,亚当 1,安康,丽莎 2,安康,巴特 3,安康;保罗
使用<代码>列举()代码>函数,我们可以在为循环中同时绑定索引指数和元素的名字。但是,这不是<代码>列举()代码>的特殊语法。实际上,<代码>列举()代码>函数把:
[& # 39;亚当# 39;,,& # 39;丽莎# 39;,,& # 39;巴特# 39;,,& # 39;保罗# 39;]
变成了类似:
[(0,, & # 39;亚当# 39;),,(1,& # 39;丽莎# 39;),,(2,& # 39;巴特# 39;),,(3),& # 39;保罗# 39;)]
因此,迭代的每一个元素实际上是一个元组:
for t 拷贝列举(L): index 才能;t [0]=, name 才能=,t [1] print 指数,才能,& # 39;& # 39;,,名字
如果我们知道每个元组元素都包含两个元素,为循环又可以进一步简写为:
for 指数,name 拷贝列举(L): print 指数,才能,& # 39;& # 39;,,名字
这样不但代码更简单,而且还少了两条赋值语句。
可见,索引迭代也不是真的按索引访问,而是由<代码>列举()代码>函数自动把每个元素变成(指数(元素)这样的<代码>元组> 代码,再迭代,就同时获得了索引和元素本身。
<强>同时,也可以采用邮政的方法给迭代对象加上索引强>
<代码> zip() 代码>函数可以把两个列表变成一个列表:
在祝辞祝辞,zip([30] 10, 20,,,,(& # 39;一个# 39;,,& # 39;b # 39;,, & # 39; c # 39;]) [(10,& # 39;一个# 39;),,(20日,& # 39;b # 39;),,(30日,& # 39;c # 39;)]
在迭代[& # 39;亚当# 39;& # 39;丽莎# 39;,& # 39;巴特# 39;,& # 39;保罗# 39;]时,如果我们想打印出名次——名字(名次从1开始),请考虑如何在迭代中打印出来。
提示:考虑使用zip() <代码> 代码>函数和<代码>范围()代码>函数
代码如下:
L =,(& # 39;亚当# 39;,,& # 39;丽莎# 39;,,& # 39;巴特# 39;,,& # 39;保罗# 39;】 for 指数,name 拷贝zip(范围(1,,5),L): print 指数,才能,& # 39;& # 39;,,名字
输出结果为:
1 -亚当
引用>
2 -丽莎
3 -巴特
4 -保罗怎么在Python迭代时使用索引