clp2 at rebertia.com
Tue Aug 4 00:00:14 CEST 2009
On Mon, Aug 3, 2009 at 2:47 PM, r<rt8396 at gmail.com> wrote:
> On Aug 3, 4:07 pm, kj <no.em... at please.post> wrote:
>> I use the term "no-clobber dict" to refer to a dictionary D with
>> the especial property that if K is in D, then
>> D[K] = V
>> will raise an exception unless V == D[K]. In other words, D[K]
>> can be set if K doesn't exist already among D's keys, or if the
>> assigned value is equal to the current value of D[K]. All other
>> assignments to D[K] trigger an exception.
>> The idea here is to detect inconsistencies in the data.
>> This is a data structure I often need. Before I re-invent the
>> wheel, I thought I'd ask: is it already available?
> Not sure if something like this already exists, but it would be
> trivial to implement by overriding dict.__setitem__()
That is, if you don't care about .update() not preserving the
invariant. Otherwise, one will need to look at the UserDict module.
More information about the Python-list