Flatten a list/tuple and Call a function with tuples

kyosohma at gmail.com kyosohma at gmail.com
Wed Jul 25 11:00:39 EDT 2007


On Jul 25, 9:50 am, beginner <zyzhu2... at gmail.com> wrote:
> Hi,
>
> I am wondering how do I 'flatten' a list or a tuple? For example, I'd
> like to transform[1, 2, (3,4)] or [1,2,[3,4]] to  [1,2,3,4].
>
> Another question is how do I pass a tuple or list of all the
> aurgements of a function to the function. For example, I have all the
> arguments of a function in a tuple a=(1,2,3). Then I want to pass each
> item in the tuple to a function f so that I make a function call
> f(1,2,3). In perl it is a given, but in python, I haven't figured out
> a way to do it. (Maybe apply? but it is deprecated?)
>
> Thanks,
> cg

I'm not sure about the first question, but as for the second, you
could do a few different things. You could just pass the tuple itself
into the function and have the tuple unpacked inside the function.

<code>

f(a)

def f (tuple):
    x,y,z = tuple

</code>

You could also pass the elements of the tuple in:

f(a[0], a[1], a[2])

That would do it the way you describe in your post.

Mike




More information about the Python-list mailing list