Python enumerate函数和index的区别
在这边做个对比:
#定义一个数组,其中里面有两个相同的值0.31
list=[0.11,0.31,0.55,0.70,0.23,0.43,0.87,0.99,0.31,0.26,0.65]
e_index = [i for i,x in enumerate(list) if x<0.5]
print('使用enumerate:',e_index)
i_index = [list.index(i) for i in list if i <0.5]
print('使用index: ',i_index)
list.index 返回的是查找对象的索引位置
enumerate函数是遍历数据对象,可以返回元素和元素下标
如果一个数组中含有相同的数值,那么使用index就无法做到遍历,输出的数值下标信息不全,会有重复。而enumerate函数可以很好的解决这个问题。
输出的结果:
当我们要筛选数组中小于0.5的值并返回该元素的下标,使用list.index 就会返回两个一模一样的下标。