The itertools.pairwise
function in Python's itertools
module returns an iterator that yields consecutive overlapping pairs of elements from the input iterable. It is useful for processing elements in pairs, such as finding differences or computing rolling statistics.
Table of Contents
- Introduction
itertools.pairwise
Function Syntax- Examples
- Basic Usage
- Using with Strings
- Processing Pairs
- Real-World Use Case
- Conclusion
Introduction
The itertools.pairwise
function creates an iterator that produces consecutive overlapping pairs from the input iterable. This function is particularly useful for scenarios where you need to compare or process elements in pairs.
itertools.pairwise Function Syntax
Here is how you use the itertools.pairwise
function:
import itertools
iterator = itertools.pairwise(iterable)
Parameters:
iterable
: The input iterable from which pairs are generated.
Returns:
- An iterator that yields consecutive overlapping pairs of elements.
Examples
Basic Usage
Generate consecutive pairs from a list.
Example
import itertools
data = [1, 2, 3, 4, 5]
result = itertools.pairwise(data)
print(list(result))
Output:
[(1, 2), (2, 3), (3, 4), (4, 5)]
Using with Strings
Generate consecutive pairs of characters from a string.
Example
import itertools
data = 'ABCDE'
result = itertools.pairwise(data)
print(list(result))
Output:
[('A', 'B'), ('B', 'C'), ('C', 'D'), ('D', 'E')]
Processing Pairs
Use pairwise
to process pairs, such as finding differences between consecutive elements.
Example
import itertools
data = [10, 20, 30, 40, 50]
result = itertools.pairwise(data)
differences = [(y - x) for x, y in result]
print(differences)
Output:
[10, 10, 10, 10]
Real-World Use Case
Computing Rolling Averages
Use pairwise
to compute rolling averages of consecutive pairs of numbers.
Example
import itertools
data = [10, 20, 30, 40, 50]
result = itertools.pairwise(data)
rolling_averages = [(x + y) / 2 for x, y in result]
print(rolling_averages)
Output:
[15.0, 25.0, 35.0, 45.0]
Conclusion
The itertools.pairwise
function is used for generating consecutive overlapping pairs from an iterable. It simplifies the process of processing elements in pairs, making it valuable for tasks such as computing differences, rolling averages, and other pairwise operations.
Comments
Post a Comment
Leave Comment