On 2006-10-12, Pierre Quentel <[EMAIL PROTECTED]> wrote: >> >>> parseline( 'A 1 22 3 6', 'sdxf') >> ['A', 1, None, 3.0] > > Yes, but in this case the OP expects to get ['A',1,3.0] > > A shorter version : > > def parseline(line,format): > xlat = {'x':None,'s':str,'f':float,'d':int,'i':int} > result = [ xlat[f](w) for f,w in zip(format,line.split()) > if xlat.get(f,None) ] > if len(result) == 0: return None > if len(result) == 1: return result[0] > return result
I don't like the name, since it actually seems to be parsing a string. -- Neil Cerutti -- http://mail.python.org/mailman/listinfo/python-list