On 03Mar2014 09:15, Juraj Ivančić <juraj.ivan...@gmail.com> wrote: > On 3.3.2014. 1:44, Cameron Simpson wrote: > >>ValueError: cannot hash writable memoryview object > > > >Have you considered subclassing memoryview and giving the subclass > >a __hash__ method? > > I have, and then, when I failed to subclass it, I considered doing > aggregation, and make it behave byte-like. But how to implement the > overridden __hash__ method? It will still require at least *some* > redundant copying. And there is the slicing thing... the whole idea > started to feel like I was performing tonsillectomy through the anal > cavity.
Write a wrapper class instead and use: def __hash__(self): return id(self) Simple and fast. Unless you need slices with the same content to hash the same (eg storing them as dict keys, or in sets). And alternative would be a simple hash of the first few bytes in whatever slice you had. Cheers, -- Cameron Simpson <c...@zip.com.au> Why is it so hard for people to simply leave people alone? But, the answer comes to me: they are idiots and in a perfect world, I would be permitted to kill them all. - Julie Rhodes <jk.rho...@asacomp.com> -- https://mail.python.org/mailman/listinfo/python-list