Zip () function in Python

The zip () function in Python returns a zip object, a list iterator of tuples that combines elements from other iterators (made of iterable words).

The zip () function in Python returns a zip object, a list iterator of tuples that combines elements from other iterators (made of iterable words).

Syntax of zip () function in Python

 zip(*iterable) 

(Iterable is an object after using methods that will return an iterator, such as String, List, and Tuple).

Parameters of zip () function

Zip () function in Python has parameters:

  1. iterable: built-in iterable (such as list, string, dict) or iterable declared by the user (made up of the __iter__ method)

Read more about Iterator Objects in Python.

Value returned from zip ()

The zip () function returns an iterator of the tuple data sets based on the iterable object.

  1. If no parameters are passed, zip () returns an empty iterator.
  2. If the passed parameter has only one iterable, zip () returns tuple with one element.
  3. If the passed parameter is multiple iterable and the iterable length is not equal, zip will create tuples of length equal to the smallest iterable number.

How to use zip ()

Example 1: How zip () works in Python

 numberList = [1, 2, 3] 
strList = ['one', 'two', 'three']

# Không truyền iterable
result = zip()

# Chuyển đổi iterator thành list
resultList = list(result)
print(resultList)

# Truyền 2 iterator
result = zip(numberList, strList)

# Chuyển đổi iterator thành set
resultSet = set(result)
print(resultSet)

Run the program, the result is:

 [] 
{(2, 'two'), (3, 'three'), (1, 'one')}

Example 2: The iterator has different number of elements

 numbersList = [1, 2, 3] 
strList = ['one', 'two']
numbersTuple = ('ONE', 'TWO', 'THREE', 'FOUR')

result = zip(numbersList, numbersTuple)

# Chuyển đổi thành set
resultSet = set(result)
print(resultSet)

result = zip(numbersList, strList, numbersTuple)

# Chuyển đổi thành set
resultSet = set(result)
print(resultSet)

Run the program, the result is:

 {(2, 'TWO'), (3, 'THREE'), (1, 'ONE')} 
{(2, 'two', 'TWO'), (1, 'one', 'ONE')}

The * operator can be used together with zip () to extract the list.

Example 3: Extract the value using zip ()

 coordinate = ['x', 'y', 'z'] 
value = [3, 4, 5, 0, 9]

result = zip(coordinate, value)
resultList = list(result)
print(resultList)

c, v = zip(*resultList)
print('c =', c)
print('v =', v)

Run the program, the result is:

 [('x', 3), ('y', 4), ('z', 5)] 
c = ('x', 'y', 'z')
v = (3, 4, 5)

See also: Built-in Python functions

4 ★ | 2 Vote