I'm sure you have the indices memorized right now, but, if you stop working on this for a bit, then come back later, will you remember what 6 and 7 and 10 are? Probably not, so, you still need to replace these magic numbers with constants. Something as simple as this:
def turn(item): v= # empty list ( temp / local ) v.append([item[VY],-item[VX]]) # add alternate vectors. use y,-x and -y,x v.append([-item[VY],item[VX]]) u=random.randint(0,len(v)-1) # pick one at random item[VX]=v[u] # update the x and y vector item[VY]=v[u] item[X]=item[SAFE_X] # rewind item's x and y position to last know good value (pre collision) item[Y]=item[SAFE_Y]
Also, you don't need to comment every line. Only comment where it makes sense.
For example, it's obvious, if you rewind x, you're doing the same thing for y. So you could say rewind item's x and y position to last know good value (pre collision)