Hi, I just found the following oddity where for function fsf1 I am forced to use a named parameter for correct evaluation and was wondering why it doesn't work, yet the example from the docs of wrapping int to create basetwo doesn't need this? The example:
>>> from functools import partial >>> basetwo = partial(int, base=2) >>> basetwo('10010') 18 >>> >>> def fs(f, s): return [f(value) for value in s] >>> def f1(value): return value * 2 >>> s = [0, 1, 2, 3] >>> fs(f1, s) [0, 2, 4, 6] >>> >>> fsf1 = partial(fs, f=f1) >>> fsf1(s) Traceback (most recent call last): File "<pyshell#24>", line 1, in <module> fsf1(s) TypeError: fs() got multiple values for keyword argument 'f' >>> # BUT >>> fsf1(s=s) [0, 2, 4, 6] >>> Would someone help? - Thanks in advance, Paddy. -- http://mail.python.org/mailman/listinfo/python-list