Python: Create a list reflecting the run-length encoding from a list
Python List: Exercise - 75 with Solution
Run-length encoding (RLE) is a form of lossless data compression in which runs of data (sequences in which the same data value occurs in many consecutive data elements) are stored as a single data value and count, rather than as the original run.
Write a Python program to create a list reflecting the run-length encoding from a given list of integers or a given list of characters.
Sample Solution:
Python Code:
from itertools import groupby
def encode_list(s_list):
return [[len(list(group)), key] for key, group in groupby(s_list)]
n_list = [1,1,2,3,4,4.3,5, 1]
print("Original list:")
print(n_list)
print("\nList reflecting the run-length encoding from the said list:")
print(encode_list(n_list))
n_list = 'automatically'
print("\nOriginal String:")
print(n_list)
print("\nList reflecting the run-length encoding from the said string:")
print(encode_list(n_list))
Sample Output:
Original list: [1, 1, 2, 3, 4, 4.3, 5, 1] List reflecting the run-length encoding from the said list: [[2, 1], [1, 2], [1, 3], [1, 4], [1, 4.3], [1, 5], [1, 1]] Original String: automatically List reflecting the run-length encoding from the said string: [[1, 'a'], [1, 'u'], [1, 't'], [1, 'o'], [1, 'm'], [1, 'a'], [1, 't'], [1, 'i'], [1, 'c'], [1, 'a'], [2, 'l'], [1, 'y']]
Flowchart:

Visualize Python code execution:
The following tool visualize what the computer is doing step-by-step as it executes the said program:
Python Code Editor:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous: Write a Python program to pack consecutive duplicates of a given list elements into sublists.
Next: Write a Python program to create a list reflecting the modified run-length encoding from a given list of integers or a given list of characters.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
Python: Tips of the Day
Given a predicate function, fn, and a prop string, this curried function will then take an object to inspect by calling the property and passing it to the predicate:
Example:
def tips_check_prop(fn, prop): return lambda obj: fn(obj[prop]) check_age = tips_check_prop(lambda x: x >= 25, 'age') user = {'name': 'Owen', 'age': 25} print(check_age(user))
Output:
True
- Weekly Trends
- Java Basic Programming Exercises
- SQL Subqueries
- Adventureworks Database Exercises
- C# Sharp Basic Exercises
- SQL COUNT() with distinct
- JavaScript String Exercises
- JavaScript HTML Form Validation
- Java Collection Exercises
- SQL COUNT() function
- SQL Inner Join
- JavaScript functions Exercises
- Python Tutorial
- Python Array Exercises
- SQL Cross Join
- C# Sharp Array Exercises
We are closing our Disqus commenting system for some maintenanace issues. You may write to us at reach[at]yahoo[dot]com or visit us at Facebook