/
ilya.petrash
/
SimplePyScripts
Обзор
Документация
Войти
/
ilya.petrash
/
SimplePyScripts
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
0.0.0
RLE_encode.py
30 строк
693 B
ipetrash
#
25 ноя 2016, 08:51
25 ноя 2016, 08:51
7879d99
Код
Авторство
О чём код?
#!/usr/bin/env python3 # -*- coding: utf-8 -*- __author__ = 'ipetrash' def compress(text): """ Функция для сжатия текста, с повторяющимися последовательностями символов aaaa -> 4a aaaabbbbb -> 4a5b aabcDDfaaaa -> 2abc2Df4a """ chars = list() import itertools for char, same in itertools.groupby(text): count = len(tuple(same)) # number of repetitions chars.append(char if count == 1 else str(count) + char) return ''.join(chars) if __name__ == '__main__': print(compress("aaaa")) print(compress("aaaabbbbb")) print(compress("aabcDDfaaaa"))