python3 的index函数只能索引要查找元素的首个索引,这个在多数情况是不能满足索引要求的。而enumerate函数可以遍历所有元素,可以利用这个函数+列表推导式实现获取所有重复元素的索引值。实现方式如下:
listA=[1,2,3,2] #比如要查找列表中的数字2。
indexA=[x for (x,y) in enumerate(listA) if y==m ]
indexA
输出:[1,4]
可以写成函数以方便调用:
def indexA (listA,m):
return [x for (x,y) in enumerate(listA) if y==m ]
使用:
indexA([1,2,3,4,3,2,2] ,2)
输出:[1, 5, 6]
indexA([1,2,3,4,3,2,2],3)
输出:[2, 4]