w3resource

Python: Count the frequency of consecutive duplicate elements in a given list of numbers, use itertools module


31. Count Consecutive Duplicates

Write a Python program to count the frequency of consecutive duplicate elements in a given list of numbers. Use the itertools module.

Sample Solution:

Python Code:

from itertools import groupby
def count_same_pair(nums):
    result = [sum(1 for _ in group) for _, group in groupby(nums)]
    return result

nums = [1,1,2,2,2,4,4,4,5,5,5,5]
print("Original lists:")
print(nums)
print("\nFrequency of the consecutive duplicate elements:")
print(count_same_pair(nums))

Sample Output:

Original lists:
[1, 1, 2, 2, 2, 4, 4, 4, 5, 5, 5, 5]

Frequency of the consecutive duplicate elements:
[2, 3, 3, 4]

For more Practice: Solve these Related Problems:

  • Write a Python program to count the frequency of consecutive duplicate elements in a list using itertools.groupby and return a list of (element, count) tuples.
  • Write a Python program to create an iterator that yields the count of consecutive duplicates and then computes the maximum frequency.
  • Write a Python program to iterate over a list and compress consecutive duplicate numbers into a tuple of (number, repetition) using groupby.
  • Write a Python program to count consecutive duplicates in an unordered list by first sorting it, then grouping using itertools.groupby.

Go to:


Previous: Write a Python program to create non-repeated combinations of Cartesian product of four given list of numbers.
Next: Write a Python program to count the frequency of the elements of a given unordered list.


Python Code Editor:


Have another way to solve this solution? Contribute your code (and comments) through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.