tuple assign variables

Simon Brunning simon.brunning at gmail.com
Mon Aug 15 07:40:10 EDT 2005


On 8/13/05, dimitri pater <dimitri.pater at gmail.com> wrote:
>  selecting a record from a MySQL database results in a tuple like this:
>  (('Evelyn', 'Dog', 'No'),)
>  I want to assign every item of that tuple to a variable using this code
> (deep_list is taken from the Python Cookbook):
>  
>  def deep_list(x):
>      if type(x)!=type( () ):
>          return x
>      return map(deep_list,x)
>  
>  mytuple = (('Evelyn', 'Dog', 'No'),)
>  mylist = deep_list(mytuple)
>  for item in mylist:
>    name, pet, modified = item
> 
>  it woks fine, but I wonder if there is a better way to achieve this.
>  Any suggestions?

I'm fond of Greg Stein's dtuple module[1]. I've never used it with
MySQL, so YMMV, but using it might look something like:

cursor.execute(sql_statement)
descriptor = dtuple.TupleDescriptor(cursor.description)

for row in (dtuple.DatabaseTuple(descriptor, row) for row in cursor.fetchall()):
    print row.name # Prints "Evelyn"
    # etc...

If your result set will be large, see also ResultIter[2].

-- 
Cheers,
Simon B,
simon at brunningonline.net,
http://www.brunningonline.net/simon/blog/

[1] http://www.lyra.org/greg/python/dtuple.py
[2] http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/137270



More information about the Python-list mailing list