list to tuple conversion
nospam at spamhaters.com
Wed Oct 1 10:30:42 CEST 2008
Gary M. Josack wrote:
> sc wrote:
>> 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:
>> import xml.sax
>> import eaddyhandler
>> parser = xml.sax.make_parser()
>> h = eaddyhandler.EAddyHandler()
>> for i in range(1, len(h.m)):
>> k = "r%06d" % i
>> col = len(h.m[k])
>> if col > 2 and h.m[k] > " ":
>> print (col * '%-30s') % h.m[k]
>> 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...
> >>> 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.
More information about the Python-list