A little more probing shows the following behavior:
What's happening here? The id() function is unique *as long as the object
lives*. As soon as the object is garbage collected, the same id can be used
for another object. It still doesn't explain Steven's observation, though:
>>> if id(1) == id(1): print 'OK'
>>> if id(1) == id(2): print 'OK'
So probably this is an anomaly as Steven points out.