I want to find positions of zeros in a list.
mylist = [0, 1 ,False,2, 0.0, 'a', 0]
all_items=[i for i in enumerate(mylist)]
# all_items= [(0, 0), (1, 1), (2, False), (3, 2), (4, 0.0), (5, 'a'), (6, 0)]
res1=[]
for i in enumerate(mylist):
if i[1] is 0 or i[1] is 0.0:
res1.extend([i])
# res1 =[(0, 0), (4, 0.0), (6, 0)]
res2=[i for i in enumerate(mylist) if i[1] is 0 or i[1] is 0.0]
#res2=[(0, 0), (6, 0)]
I supposed res1
and res2
to be equivalent, but they differs. Why 0.0
is not in res2
?