Python zip Function with Examples

The zip function in Python produces a zip object, which aligns elements from multiple containers based on their corresponding indices. It accepts any number of iterables (including none), transforms them into an iterator that combines the elements according to the provided iterables, and ultimately yields an iterator of tuples.

The zip function in Python is a native function that serves the purpose of merging two or more iterables into one cohesive iterable. This function accepts multiple iterables (such as lists, tuples, sets, and others) as parameters and produces an iterator that compiles elements from each of the provided iterables into tuples. Each tuple comprises the i-th element from every one of the input iterables.

Python zip Function Syntax

The syntax for using the zip function is:

Example

zip(*iterables)

Parameters

  • iterator1, iterator2, iterator3: These represent a collection of iterator objects that have been combined.
  • Return

It provides an iterator based on two or more existing iterators.

Different Examples for Python zip Function

In this section, we will explore various examples of the Python zip function.

Python zip Function Example 1

The following illustration demonstrates how the zip function operates in Python.

Example

numList = [4,5, 6]

strList = ['four', 'five', 'six']

# No iterables are passed

result = zip()

# Converting itertor to list

resultList = list(result)

print(resultList)

# Two iterables are passed

result = zip(numList, strList)

# Converting itertor to set

resultSet = set(result)

print(resultSet)

Output:

Output

[]

{(5, 'five'), (4, 'four'), (6, 'six')}

Explanation:

In the preceding illustration, we have set up two lists: numList, which holds integer elements, and strList, which is populated with string elements. We utilize the zip function to pair these values together.

In the initial scenario, it transforms the iterator into a list and outputs resultList, which holds no elements.

Subsequently, two iterables are supplied to the zip function, namely numList and strList, which are then transformed into a set and their values are returned.

Python zip Function Example 2

The following example demonstrates how to extract values utilizing the zip function in Python.

Example

coordinate = ['x', 'y', 'z']

value = [6, 2, 8, 5, 1]

result = zip(coordinate, value)

resultList = list(result)

print(resultList)

c, v =  zip(*resultList)

print('c =', c)

print('v =', v)

Output:

Output

[('x', 6), ('y', 2), ('z', 8)]

c = ('x', 'y', 'z')

v = (6, 2, 8)

The function accepts an arbitrary quantity of iterables as input parameters, distinguished by commas, and produces an iterator that yields tuples comprising elements from each of the provided iterables.

Python zip Function Example 3

For illustration purposes, let’s examine the Python zip function through an example.

Example

names = ['Alice', 'Bob', 'Charlie']

ages = [25, 30, 35]

We can use the zip() function to combine these two lists into a single iterable:

combined = zip(names, ages)

Now, we can iterate over the combined iterable and print out the tuples containing the name and age of each person:

for name, age in combined:

    print(name, age)

Output:

Output

Alice 25

Bob 30

Charlie 35

Explanation:

The zip function can indeed be utilized with multiple iterables beyond just two. For instance, let's consider a scenario where we have three separate lists:

To illustrate the functionality of the zip function in Python, we will consider an example.

Example

names = ['Alice', 'Bob', 'Charlie']

ages = [25, 30, 35]

heights = [160, 175, 180]

We can combine these three lists using the zip() function:

combined = zip(names, ages, heights)

Now, we can iterate over the combined iterable and print out the tuples containing the name, age, and height of each person:

for name, age, height in combined:

    print(name, age, height)

Output:

Output

Alice 25 160

Bob 30 175

Charlie 35 180

Conclusion

To summarize, the zip function in Python serves as a robust mechanism for merging two or more iterables into one cohesive iterable. This function proves to be highly valuable when dealing with data distributed across various lists or alternative data structures.

Input Required

This code uses input(). Please provide values below: