Python: Compress repeated character by storing the length of a given string
Write a Python program to read a given string character by character and compress repeated characters by storing the length of those character(s).
Sample Solution:
Python Code:
from itertools import groupby
def encode_str(input_str):
return [(len(list(n)), m) for m,n in groupby(input_str)]
str1 = "AAASSSSKKIOOOORRRREEETTTTAAAABBBBBBDDDDD"
print("Original string:")
print(str1)
print("Result:")
print(encode_str(str1))
str1 = "jjjjiiiiooooosssnssiiiiwwwweeeaaaabbbddddkkkklll"
print("\nOriginal string:")
print(str1)
print("Result:")
print(encode_str(str1))
Sample Output:
Original string: AAASSSSKKIOOOORRRREEETTTTAAAABBBBBBDDDDD Result: [(3, 'A'), (4, 'S'), (2, 'K'), (1, 'I'), (4, 'O'), (4, 'R'), (3, 'E'), (4, 'T'), (4, 'A'), (6, 'B'), (5, 'D')] Original string: jjjjiiiiooooosssnssiiiiwwwweeeaaaabbbddddkkkklll Result: [(4, 'j'), (4, 'i'), (5, 'o'), (3, 's'), (1, 'n'), (2, 's'), (4, 'i'), (4, 'w'), (3, 'e'), (4, 'a'), (3, 'b'), (4, 'd'), (4, 'k'), (3, 'l')]
Python Code Editor:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous: Write a Python program find the sorted sequence from a set of permutations of a given input.
Next: Write a Python program to generate permutations of n items in which successive permutations differ from each other by the swapping of any two items.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics