list to tuple conversion

sc nospam at spamhaters.com
Wed Oct 1 04:30:42 EDT 2008


Gary M. Josack wrote:

> sc wrote:
>> clp:
>>
>> Thanx to a recent thread I am able to have a print string
>> with a variable number of formatters -- what I now lack for
>> the creation of an elegant print statement is a tuple --
>> following is the code, the last line of which does not work:
>>
>> <code>
>> #!/usr/bin/python
>> import xml.sax
>> import eaddyhandler
>> parser = xml.sax.make_parser()
>> h = eaddyhandler.EAddyHandler()
>> parser.setContentHandler(h)
>> parser.parse(".ea.xml")
>> for i in range(1, len(h.m)):
>>     k = "r%06d" % i
>>     col = len(h.m[k])
>>     if col > 2 and h.m[k][0] > " ":
>>         print (col * '%-30s') % h.m[k]
>> </code>
>>
>> What's going on is I have an oocalc spreadsheet for
>> e-addresses -- column 1 has the name, and then I keep
>> adding e-addresses for ppl when they get new ones, as
>> successive entries on their row, meaning each row has
>> a variable number of e-address columns.  I have an xml
>> extractor that runs before this script using
>> odf.opendocument, which works famously.
>>
>> My class, EAddyHandler, also works, and builds its dictionary
>> of rows in 'm', forgive me, no flames please, I needed a
>> short name for the dictionary I have to type it so many times.
>> The key to 'm' is an 'r' + row number, so I can get
>> stuff out of it and it's still in the right order, fun
>> with dictionaries.
>>
>> What I was hoping for was something that could vary the
>> source for the print statement as cleanly as the 'col'
>> multiplication creates the print format, but the list,
>> 'h.m[k]' is not a tuple, it's a list, and I'm just not
>> quite where I am trying to get with this.
>>
>> If there were a builtin function that took a list and
>> returned a tuple, I'd be there, but if there is such a
>> thing I need someone to point me at it.  I can't help
>> thinking I am missing some obvious construct, and I'll
>> be advised to go reread the tutorial, but I'm not there,
>> and if you can take pity on me and point me there, I'll
>> be your friend for life.  Well -- I'll be grateful...
>>
>> TIA,
>>
>> Scott
>>
>> --
>> http://mail.python.org/mailman/listinfo/python-list
>>   
>  >>> L = [1,2,3,4,5]
>  >>> t = tuple(L)
>  >>> t
> (1, 2, 3, 4, 5)

fine, documented now, for the world to see, I'm an idiot,
fine, but anyway, thank you both, I'll shutup now.

sc




More information about the Python-list mailing list