python index查找重复元素python获取python的list中含有重复值的index方法 list.index()查找所有相同\重复值的所有index下标

#这里重复查找的目标为2,indexes为所有目标的结果
lis = [1,0,3,4,5,2,9,2,2,7,6,2]
indexes = []
obj = 2#查找重复值的目标对象
#python list.index默认查找的元素为从左向右第一个位置的index
#因此只要避免重复查找即可
#由于index是序列,具有唯一性,因此只需要判断上一次查找的元素的index是否在indexes里面
#如果在,就改变start开始位置的值
start = 0
#注意:list.inde用法 list.index(obj_num,start,stop)
#while循环中的print()为测试过程,可自行删去
while True:
    if len(indexes) == 0:
        try:#异常处理:当list.index查找不到目标的时候会报错,因此直接推出查找即可
            # print('try flag1')
            indexes.append(lis.index(2,start))
            # print('lis.index(_value=)',lis.index(2))
            start = lis.index(2) + 1#下一个位置
            # print(start)
        except:
            break #说明没有要查找的这个值,查找结束
    else:
        try:
            indexes.append(lis.index(2,start))#如果index方法报错,说明已经查找结束
            #list.index方法原理同上,使用异常处理退出循环
            start = lis.index(2,start)+1 #下一个位置
        except:
            break
print(indexes)

下面是运行结果

你可能感兴趣的:(Python基础,python)