# Zip lists in Python

## Zip lists in Python

When you `zip()`

together three lists containing 20 elements each, the result has twenty elements. Each element is a three-tuple.

See for yourself:

```
In [1]: a = b = c = range(20)
In [2]: zip(a, b, c)
Out[2]:
[(0, 0, 0),
(1, 1, 1),
...
(17, 17, 17),
(18, 18, 18),
(19, 19, 19)]
```

To find out how many elements each tuple contains, you could examine the length of the first element:

```
In [3]: result = zip(a, b, c)
In [4]: len(result[0])
Out[4]: 3
```

Of course, this wont work if the lists were empty to start with.

`zip`

takes a bunch of lists likes

```
a: a1 a2 a3 a4 a5 a6 a7...
b: b1 b2 b3 b4 b5 b6 b7...
c: c1 c2 c3 c4 c5 c6 c7...
```

and zips them into one list whose entries are 3-tuples `(ai, bi, ci)`

. Imagine drawing a zipper horizontally from left to right.

#### Zip lists in Python

In Python 2.7 this might have worked fine:

```
>>> a = b = c = range(20)
>>> zip(a, b, c)
```

But in Python 3.4 it should be (otherwise, the result will be something like `<zip object at 0x00000256124E7DC8>`

):

```
>>> a = b = c = range(20)
>>> list(zip(a, b, c))
```

**Related Posts**