Kent Johnson wrote:
You can part way there using keyword arguments. You just have to use dictionary syntax for changing values in the dictionary:

 >>> def f(d, x=None, y=None):
 ...   d['z'] = x + y
 ...
 >>> a = {'x':1, 'y':2}
 >>> b = {'x':3, 'y':3}
 >>>
 >>> f(a, **a)
 >>> a
{'y': 2, 'x': 1, 'z': 3}
 >>> f(b, **b)
 >>> b
{'y': 3, 'x': 3, 'z': 6}


This is not possible in my case since my dictionary have many more items than just x and y. So, if there is are other items in the dictionary


>>> a = {'x':1, 'y':2, 'else':4}
>>> f(a,**a)
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "/usr/tmp/python-10176RtT.py", line 1, in ?
    f(a,**a)
TypeError: f() got an unexpected keyword argument 'else'

Bo
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to