Detupleize a tuple for argument list

Marco Wahl mw at visenso.de
Wed Jul 5 08:01:27 EDT 2006


Hi,

I want to give a tuple to a function where the function
expects the respective tuple-size number of arguments.

The following session illustrates what I want to do and
the respective failure.

 Python 2.4.1 (#7, Aug  3 2005, 14:55:58) 
 [GCC 3.3.1 (SuSE Linux)] on linux2
 Type "help", "copyright", "credits" or "license" for more information.
 >>> def foo(a, b): print a, b
 ... 
 >>> t = (1, 2)
 >>> def foo(a, b): print 'a == %s, b == %s' % (str(a), str(b))
 ... 
 >>> foo(1, 2)
 a == 1, b == 2
 >>> foo(t)
 Traceback (most recent call last):
   File "<stdin>", line 1, in ?
 TypeError: foo() takes exactly 2 arguments (1 given)
 >>>

One way to do what I want is--of course--to call
foo(t[0], t[1]).  My actual question is if there is a
smarter way to do it.

The situation for me is that I take the functions from
a library that I cannot modify.  On the other side in
my code I use the tuples.


Best wishes
-- 
Marco Wahl
http://visenso.com




More information about the Python-list mailing list