What is different in the underlying implementation that causes python to prefer one over the other? 
(Curious, I am mostly a Java programmer, so there are a lot of things in Python I don't know about)