如何从指定元素开始遍历列表并处理至列表末尾
从列表指定起始元素开始遍历的实现方法
方法一:通过索引切片实现
先定位目标起始元素在列表中的索引,再对列表进行切片,从该索引位置开始遍历到末尾。
首先修正你代码里的语法错误('PIF4W'和'4FSD5'之间缺少逗号),然后实现逻辑:
mylist = ['ABCD121','2132ASX','S2ADSD','AXD2','HDDW12','574S3','PIF4W','4FSD5','34SDF'] # 找到起始元素的索引 start_index = mylist.index('AXD2') # 从起始索引开始遍历 for item in mylist[start_index:]: print(item) print("doing something with the item")
注意:如果列表中存在多个相同的AXD2元素,index()方法只会返回第一个匹配元素的索引,若需要从其他匹配位置开始,需要额外处理。
方法二:用标志位控制遍历
如果不确定目标元素是否存在于列表中,或者需要灵活控制开始处理的时机,可以用标志位来判断:
mylist = ['ABCD121','2132ASX','S2ADSD','AXD2','HDDW12','574S3','PIF4W','4FSD5','34SDF'] start_processing = False target_item = 'AXD2' for item in mylist: # 遇到目标元素后开启处理标志 if item == target_item: start_processing = True # 标志开启后才执行处理逻辑 if start_processing: print(item) print("doing something with the item")
这种方法的优势是:即使目标元素不存在,程序也不会报错,只是不会执行任何处理逻辑;如果有多个目标元素,会从第一个出现的位置开始持续处理后续所有元素。
内容的提问来源于stack exchange,提问作者DarCoy
相关产品推荐
相关产品推荐

