deflist1():listabc=[0,0,' 0 ',' 0 ']forlistsingleinlistabc:print(listsingle)t1=listsingle listsingleindex=listabc.index(listsingle)print(listsingleindex)t2=listsingleindexprint('-------')if__name__=='__main__':list1()显示结果:00-------00-------02-------02-------以上代码,发现列表listabc中所有元素0的index位置都是0,所有元素 ’ 0 '的index位置都是2,这是因为使用list.index()方式通过元素的值去找该元组的index位置时,如果多个元素的元素值一样,就找第一个元素值的index位置
解决方法:不要使用listabc.index(listsingle)这样的方式,而是使用for idx, listsingle in enumerate(listabc):
deflist1():listabc=[0,0,' 0 ',' 0 ']foridx,listsingleinenumerate(listabc):print(listsingle)t1=listsingleprint(idx)t2=idxprint('-------')if__name__=='__main__':list1()显示结果:00-------01-------02-------03-------