Список Python: Упражнение — 75 с решением
Кодирование длин серий (RLE) — это форма сжатия данных без потерь, при которой серии данных (последовательности, в которых встречается одно и то же значение данных) во многих последовательных элементах данных) хранятся как одно значение данных и счетчик, а не как исходный прогон.
Напишите программу Python для создания списка, отражающего кодировку длин серий из заданного списка целых чисел или заданного списка символов.
Пример решения :
Код Python:
из itertools import groupbydef encode_list (s_list): return [[len (list (group)), key] для ключа, группа в groupby (s_list)] n_list = [ 1,1,2,3,4,4,3,5, 1] print ("Исходный список:") print (n_list) print (" nList, отражающий кодировку длин серий из указанного списка:") print (encode_list ( n_list)) n_list = 'автоматически' print (" nOriginal String:") print (n_list) print (" nList, отражающий кодировку длин серий из указанной строки:") print (encode_list (n_list)) e>
Пример вывода:
Исходный список: [1, 1, 2, 3, 4, 4.3, 5, 1] Список, отражающий кодировку длин серий из указанного списка: [[2, 1], [1, 2], [1, 3], [1, 4], [1, 4.3], [1, 5], [1, 1]] Исходная строка : автоматически Список, отражающий кодировку длин серий из указанной строки: [[1, 'a'], [1, 'u'], [1, 't'], [1, 'o'], [1, ' m '], [1,' a '], [1,' t '], [1,' i '], [1,' c '], [1,' a '], [2,' l ' ], [1, 'y']]
Блок-схема:
Визуализируйте выполнение кода Python:
Следующий инструмент визуализирует шаг за шагом, что делает компьютер, когда он выполняет указанную программу:
Редактор кода Python: