mosscliffe schreef: > for x,y in map("N/A", lista, listb): ########## Fails - Can not call a > 'str' > print "MAP:", x, "<<x y>>", y > > def fillwith(fillchars): > return fillchars > > for x,y in map(fillwith("N/A"), lista, listb): ########## Fails also - > Can not call a 'str' > print "MAP:", x, "<<x y>>", y
The first argument to map is a function, which is called with the items of the argument sequences. If the first argument is None, a default function is used which returns a tuple of the items. In the case that two input sequences are provided: map(None, lista, listb) is equivalent to: def maketuple(a, b): return a, b map(maketuple, lista, listb) So what you want to do can be done with map like this: def make_fill_missing(fillchars): def fill_missing(a, b): if a is None: a = fillchars if b is None: b = fillchars return a, b return fill_missing map(make_fill_missing("N/A"), lista, listb)) -- If I have been able to see further, it was only because I stood on the shoulders of giants. -- Isaac Newton Roel Schroeven -- http://mail.python.org/mailman/listinfo/python-list