Thanks to visit codestin.com
Credit goes to www.tutorialspoint.com

Selected Reading

Python itertools.repeat() Function



The Python itertools.repeat() function is used to create an iterator that returns the same value repeatedly. This function is commonly used when a constant value needs to be provided multiple times in an iteration.

By default, it repeats the value indefinitely unless a repetition limit is specified.

Syntax

Following is the syntax of the Python itertools.repeat() function −

itertools.repeat(object, times=None)

Parameters

This function accepts the following parameters −

  • object: The value to be repeated.
  • times (optional): The number of times the value should be repeated. If not specified, the repetition is infinite.

Return Value

This function returns an iterator that yields the specified value repeatedly.

Example 1

Following is an example of the Python itertools.repeat() function. Here, we repeat the string "hello" five times −

import itertools

repeater = itertools.repeat("hello", 5)
for word in repeater:
   print(word)

Following is the output of the above code −

hello
hello
hello
hello
hello

Example 2

Here, we use itertools.repeat() to generate a constant value indefinitely and limit it using itertools.islice() function −

import itertools

constant_value = itertools.repeat(10)
limited_values = itertools.islice(constant_value, 6)
for num in limited_values:
   print(num)

Output of the above code is as follows −

10
10
10
10
10
10

Example 3

Now, we use itertools.repeat() function with the map() function to apply a function multiple times −

import itertools

def power(x, y):
   return x ** y

bases = [2, 3, 4, 5]
exponents = itertools.repeat(3)
results = map(power, bases, exponents)
for result in results:
   print(result)

The result obtained is as shown below −

8
27
64
125

Example 4

If you use the itertools.repeat() function without a specified repetition limit, it will run indefinitely. To prevent infinite loops, you can use conditions or the islice() function from itertools.

Here, we repeat a tuple value but limit it using itertools.islice() function −

import itertools

value = (1, 2, 3)
repeated_values = itertools.repeat(value)
limited_repeated = itertools.islice(repeated_values, 4)
for val in limited_repeated:
   print(val)

The result produced is as follows −

(1, 2, 3)
(1, 2, 3)
(1, 2, 3)
(1, 2, 3)
python_modules.htm
Advertisements