"RickMuller" <[EMAIL PROTECTED]> writes: > def parseline(line,format): > xlat = {'x':None,'s':str,'f':float,'d':int,'i':int} > result = [] > words = line.split() > for i in range(len(format)): > f = format[i] > trans = xlat.get(f,'None') > if trans: result.append(trans(words[i])) > if len(result) == 0: return None > if len(result) == 1: return result[0] > return result
Untested, but maybe more in current Pythonic style: def parseline(line,format): xlat = {'x':None,'s':str,'f':float,'d':int,'i':int} result = [] words = line.split() for f,w in zip(format, words): trans = xlat[f] if trans is not None: result.append(trans(w)) return result Differences: - doesn't ignore improper format characters, raises exception instead - always returns values in a list, including as an empty list if there's no values - uses iterator protocol and zip to avoid ugly index variable and subscripts -- http://mail.python.org/mailman/listinfo/python-list