The zip function takes two collections and merges them. The collections must be of equal length.

So what is a collection? Collections can be : lists, tuples and the dictonaries. All examples are Python 3 code.

Related Course: Complete Python Programming Course & Exercises

Zip lists

The example below creates two lists, list a and list b. In this examlpe each list consists of eight elements.

Instead of manually defining each value, the range function is used to fill the contents of the list. This is not mandatory, it’s only for this example.

a = list(range(8))
b = list(range(8))

These lists have the data:

[0, 1, 2, 3, 4, 5, 6, 7]
[0, 1, 2, 3, 4, 5, 6, 7]

We can combine them with the zip function into a combined list.

a = range(8)
b = range(8)

ab = list(zip(a,b))
print(ab)

The list ab then contains:

python zip

All elements in the list are now pairs. If we merge three lists, we would get a pair of 3 for each element.

Note: When you zip() together two lists containing 8 elements each, the result has eight elements.

Zip dictionary

We can convert two lists to a dictionary:

 
keys=['Hawai','China']
values=['Aloha','Nihao']

ab = dict(zip(keys,values))
print(ab)

This will output:

{'Hawai': 'Aloha', 'China': 'Nihao'}

If you are a Python beginner, then I highly recommend this book.

Download exercises