Python中如何让for循环从列表中间的指定元素开始遍历
问题根源
你尝试的y+3方案无效,是因为直接遍历列表时,循环变量y拿到的是每一个子列表元素本身(首次循环值为['a'],第二次为['b'],以此类推),不是元素对应的索引位置,因此对元素做算数运算无法实现偏移遍历的效果。
可行解决方案
方案1:已知目标元素固定索引时,用列表切片实现
列表索引从0开始计数,['d']对应索引为3,直接截取列表从索引3到末尾的片段遍历即可,修改后代码如下:
list_ = [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g'], ['h']] # 列表切片[3:]表示从索引3的元素开始,取到列表最后一个元素 for y in list_[3:]: print(y)
执行后即可输出你需要的从['d']开始的所有元素。
方案2:目标元素位置不固定时,动态查找起始位置
如果无法确定['d']的固定索引,可以先查找元素对应下标再切片遍历,代码如下:
list_ = [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g'], ['h']] # 查找目标元素的索引 start_index = list_.index(['d']) for y in list_[start_index:]: print(y)
内容的提问来源于stack exchange,提问作者Sven
相关产品推荐
相关产品推荐

