On Mon, Sep 28, 2009 at 8:56 AM, Guido van Rossum <gu...@python.org> wrote:
> Hold it right there! That's wrong. You can't have two objects that
> compare equal but whose hashes differ. It will break dict lookup. The
> other way around is fine: two objects may differ and still have the
> same hash.


mm I never knew that, guess I'll go fix my patch to change the
__hash__ method as well, though when I tested it dict lookup seemed to
work fine


>>> net1 = IPNetwork("10.1.2.0/29")
>>> i = 0
>>> test = {}
>>> for ip in net1:
        test[IPNetwork("%s/29" %(ip))] = i
        i += 1

        
>>> print test[IPv4Network('10.1.2.4/29')]
4
>>> print test
{IPv4Network('10.1.2.0/29'): 0, IPv4Network('10.1.2.1/29'): 1,
IPv4Network('10.1.2.2/29'): 2, IPv4Network('10.1.2.3/29'): 3,
IPv4Network('10.1.2.4/29'): 4, IPv4Network('10.1.2.5/29'): 5,
IPv4Network('10.1.2.6/29'): 6, IPv4Network('10.1.2.7/29'): 7}
>>>
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to