Looks nice, but my first thought when I looked at the code example:
1 >>> l = ['spam', 'ham', 314, 23]
was "wait, how are they assigning a list to the number 1? How is that possible? Oh... that's an l". (Not a fan of that. I'm half blind (figuratively) so these things confuse me.)