(Sponsors) Get started learning Python with DataCamp's free Intro to Python tutorial. Learn Data Science by completing interactive coding challenges and watching videos by expert instructors. Start Now!
Python zip() function
Updated on Jan 07, 2020
The zip()
function takes one or more sequences and combines the corresponding items in the sequences into a tuple. It stops when the shortest sequence is exhausted. In Python 2, zip()
returns an actual list which is not very efficient if you work with a large amount of data. For this reason, in Python 3, zip()
returns an iterable which produces the result on demand.
Syntax: zip(iter1 [,iter2 [...]]) --> zip object
Python 3
1 2 3 4 | >>>
>>> zip([1, 2, 3, 4], "pow")
<zip object at 0x7f3c1ceb51c8>
>>>
|
To produce the result wrap the zip()
in a list()
call.
1 2 3 4 | >>>
>>> list(zip([1, 2, 3, 4], "pow"))
[(1, 'p'), (2, 'o'), (3, 'w')]
>>>
|
Try it out:
Python 2
1 2 3 4 | >>>
>>> zip([1, 2, 3, 4], "pow") # In Python 2, list() call is not required
[(1, 'p'), (2, 'o'), (3, 'w')]
>>>
|
Here is one practical example, where zip()
is used to iterate multiple sequences in parallel.
1 2 3 4 5 6 7 8 | >>>
>>> for i, j, k, l in zip([1, 2, 3], "foo", ("one", "two", "three"), {"alpha", "beta", "gamma"}):
... print(i, j, k, l)
...
1 f one alpha
2 o two gamma
3 o three beta
>>>
|
Try it out:
Here is another example where zip()
function is used to create a dictionary.
1 2 3 4 5 6 7 8 | >>>
>>> keys = ['alpha', 'beta', 'gamma']
>>> values = [10, 20, 30]
>>>
>>> d = dict(zip(keys, values))
>>> d
{'alpha': 10, 'beta': 20, 'gamma': 30}
>>>
|
Try it out:
Other Tutorials (Sponsors)
This site generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join over a million other learners and get started learning Python for data science today!
View Comments