Question: beginner to python here. 

I have 2 nested lists that I want to merge:

```
list1 = ['a',
         (b, c),
         (d, e),
         (f, g, h) ]

list2 = [(p,q),
         (r, s),
         (t),
         (u, v, w) ]

```

the output I am looking for is:

```
list3 = [(a, p, q),
         (b, c, r, s),
         (d, e, t),
         (f, g, h, u, v, w) ]

```

Can this be done without any external libraries?
note: len(list1) = len(list2)

Answer: 
Use the power of the [`zip`](http://docs.python.org/library/functions.html#zip) function and [list comprehensions](http://docs.python.org/tutorial/datastructures.html#list-comprehensions):

```
list1 = [('a', ),
        ('b', 'c'),
        ('d', 'e'),
        ('f', 'g', 'h') ]

list2 = [('p', 'q'),
        ('r', 's'),
        ('t', ),
        ('u', 'v', 'w') ]

print [a + b for a, b in zip(list1, list2)]

```
```
from operator import add
list3 = map(add, list1, list2)

```