set of sets

Paolo Veronelli paolo_veronelli at yahoo.it
Thu Aug 11 10:27:39 EDT 2005


Matteo Dell'Amico wrote:
> Paolino wrote:
> 
>>I thought rewriting __hash__ should be enough to avoid mutables problem 
>>but:
>>
>>class H(set):
>>  def __hash__(self)
>>    return id(self)
>>
>>s=H()
>>
>>f=set()
>>
>>f.add(s)
>>f.remove(s)
>>
>>the add succeeds
>>the remove fails eventually not calling hash(s).
> 
> 
> Why don't you just use "frozenset"?
> 
And mostly with sets remove operation expense should be sublinear or am
I wrong?
Is this fast as with lists?
Obviously if I use the ids as hash value nothing is guaranted about the
objects contents to be unique but I don't care.
My work is a self organizing net,in which the nodes keep a structure to
link other nodes.As the nature of the net,the links are moved frequently
  so remove and add operations and contains query should be optimized.
Why objects need to be hashable for this? Isn't __hash__ there to solve
the problem?
PS Looks like the problem is not present in class sets.Set


	

	
		
___________________________________ 
Yahoo! Mail: gratis 1GB per i messaggi e allegati da 10MB 
http://mail.yahoo.it



More information about the Python-list mailing list