Here is a piece of python code ("result" is a nested list created before)
for i in range(len(result)-1):
try:
result[i][3]=0
result[i+i][0]=0
except IndexError:
print "fail", result[i][3], result[i+1][0], i, len(result)
return result
which, to my astonishment, quite often prints "fail" (with non-revealing values for i, len(result), e.g. 24, 31). How can
result[i][3]=0
result[i+i][0]=0
produce the IndexError exception, if
print result[i][3], result[i+1][0]
does not?