unpacking vars from list of tuples

Andre Engels andreengels at gmail.com
Wed Sep 16 00:00:21 CEST 2009

On Tue, Sep 15, 2009 at 11:51 PM, Ross <rossgk at gmail.com> wrote:
> I'm inexperienced with some of the fancy list slicing syntaxes where
> python shines.
> If I have a list of tuples:
>   k=[("a", "bob", "c"), ("p", "joe", "d"), ("x", "mary", "z")]
> and I want to pull the middle element out of each tuple to make a new
> list:
> myList = ["bob", "joe", "mary"]
> is there some compact way to do that?  I can imagine the obvious one
> of
> myList = []
> for a in k:
>   myList.append(a[1])
> But I'm guessing Python has something that will do that in one line...
> Any suggestion is appreciated...

You can use a list comprehension:

myList = [a[1] for a in k]

André Engels, andreengels at gmail.com

More information about the Python-list mailing list