[Python-Dev] slightly inconsistent set/list pop behaviour

Steve Holden steve at holdenweb.com
Wed Apr 8 17:14:09 CEST 2009


Paul Moore wrote:
> 2009/4/8 Duncan Booth <duncan.booth at suttoncourtenay.org.uk>:
>> Andrea Griffini <gripho66 at gmail.com> wrote:
>>
>>> On Wed, Apr 8, 2009 at 12:57 PM, Jack diederich <jackdied at gmail.com>
>>> wrote:
>>>> You wrote a program to find the two smallest ints that would have a
>>>> hash collision in the CPython set implementation?  I'm impressed.
>>>>  And by impressed I mean frightened.
>>> ?
>>>
>>> print set([0,8]).pop(), set([8,0]).pop()
>> If 'smallest ints' means the sum of the absolute values then these are
>> slightly smaller:
>>
>>>>> print set([-1,6]).pop(), set([6,-1]).pop()
>> 6 -1
> 
> Can't resist:
> 
>>>> print set([-2,-1]).pop(), set([-1,-2]).pop()
> -1 -2
> 
>>> a = 0.001
>>> b = 0.002
>>> print set([a, b]).pop(), set([b, a]).pop()
0.002 0.001

Let's stop here ...

regards
 Steve
-- 
Steve Holden           +1 571 484 6266   +1 800 494 3119
Holden Web LLC                 http://www.holdenweb.com/
Watch PyCon on video now!          http://pycon.blip.tv/



More information about the Python-Dev mailing list