esoteric question about dict keys (Re: age of Python programmers)

Steve lonetwin at gmail.com
Fri Aug 20 14:05:49 CEST 2004


Hi,
> Now the question. In "normal" dicts its not possible to use dictionaries
> (nor other kinds of mutable objects) as keys, if I undersand correctly
> this is a technical requirement. If I write my own dictionary-like
> object, on wich the mutability of the keys is not a technical issue, is
> considered blasphemous the use of dicts as keys? For example, querying
> an SQL table can be partially modelled as a dictionary access:
> 
> table[pkey_value] gives a record for this primary key
> 
> table[{'somefield':somevalue}] returns all the records where
> somefield=somevalue

...but the whole point of having keys is to uniquely identify a
record, so table[<whatever>] should always return *one* uniquely keyed
object.

Wouldn't something like 
     [ values for value in table['somefield'] if value == 'somevalue']
or
     table['somefield']['somevalue']
 be more a appropriate model ??

HTH
Steve


On Fri, 20 Aug 2004 12:19:01 +0200, Alexis Roda <alexis.roda at urv.es> wrote:
> This is my first message to the list, so I'll present myself and add my
> contribution to the "age of python programmes" thread.
> 
> My name is Alexis Roda, I'm 36 - 7/365 years old, I started programming
> with python two years ago, mainly because I started playing with zope.
> At first I was a reluctant Perl converted, although initially I hated
> python (well, I hated zope wich make me hate python) now I'm in love
> with both python and zope. I started programming at 15 with a Casio
> calculator (a kind of assembler), then an Amstrad CPC464 (Basic), a
> Macintosh Plus (Pascal, C, Lisp, assembler) and finally come to the
> PC/Linux world (assembler, C, C++, Perl, bash scripting, elisp and python).
> 
> Now the question. In "normal" dicts its not possible to use dictionaries
> (nor other kinds of mutable objects) as keys, if I undersand correctly
> this is a technical requirement. If I write my own dictionary-like
> object, on wich the mutability of the keys is not a technical issue, is
> considered blasphemous the use of dicts as keys? For example, querying
> an SQL table can be partially modelled as a dictionary access:
> 
> table[pkey_value] gives a record for this primary key
> 
> table[{'somefield':somevalue}] returns all the records where
> somefield=somevalue
> 
> or is preferable to define a query() method for these uses and restrict
> __getitem__ to mutable objects for the sake of consistency?
> 
> TIA
> --
>                                     ////
>                                    (@ @)
> ----------------------------oOO----(_)----OOo--------------------------
> <>               Ojo por ojo y el mundo acabara ciego
> /\ Alexis Roda - Universitat Rovira i Virgili - Reus, Tarragona (Spain)
> -----------------------------------------------------------------------
> 
> --
> http://mail.python.org/mailman/listinfo/python-list
>



More information about the Python-list mailing list