Converting tuples to dictionaries?
Mart van de Wege
mvdwege.usenet at drebbelstraat20.dyndns.org
Sat Sep 22 15:54:23 EDT 2001
In <mailman.1001021063.1689.python-list at python.org>, Ignacio Vazquez-Abrams
wrote:
> On Thu, 20 Sep 2001, Mart van de Wege wrote:
>
>> I have some data in an SQL database. Now AFAICT psycopg (aka pythonDB 2.0 for
>> PostgreSQL) returns the query results as a list of tuples. The data that
>> returns from my query would fit very well in a dictionary, ie. tuple[0] would
>> be the key, and the rest would make the value (or list of values), in fact
>> the conceptual model I have for my program would *need* a dictionary to
>> process.
>>
>> Now the obvious way to turn a list of tuples into a dictionary would be to
>> loop over the list and convert them by assigning tuple[0] to be the key and
>> the rest of the tuple the value. Slightly more efficient would be to define a
>> function that does that with one tuple and then map the function on the list.
>>
>> The question is, is this really the only way to go about that, or am I
>> barking up the wrong tree entirely? It really seems like a brute force
>> approach to me. Is there an alternative?
>
> No, you pretty much hit the nail on the head:
>
> ---
> tup=(
> (1, 2, 3),
> (4, 5, 6),
> (7, 8, 9)
> )
>
> dict={}
>
> def convtuple(t):
> return {t[0]:t[1:]}
>
> filter(dict.update, map(convtuple, tup))
>
> print dict
> ---
>
Ok,
Thank you (and Simon too of course), that will help me a lot. Expect me back
soon with more Python/PostgreSQL questions :)
BTW, I'm having a hard time finding an API description for the Python-DB API
2.0. I guess I'll have to start digging through the source? Thankfully it is
mostly self-documenting.
Mart
--
Requiem aeternam dona eis, Domine, et lux perpetua luceat eis.
Requiescant in pace.
Amen.
More information about the Python-list
mailing list