J. RLE наоборот

Вашему решению предоставлен список натуральных чисел numbers.

Напишите выражение для генерации строки, представляющей собой отсортированный список чисел, записанных через дефис, окружённый пробелами, без повторений.

Примечание

В решении не должно быть ничего, кроме списочного выражения.

Пример

Ввод

rle = [('a', 2), ('b', 3), ('c', 1)]

Вывод

'aabbbc'

Ввод

rle = [('1', 1), ('0', 2), ('5', 1), ('0', 2)]

Вывод

'100500'

Решение

В этой задачи нам требуется с помощью списочного выражения пробежаться по списку кортежей, подготовить список строк, для “склейки” и склеить их с помощью метода join().

Фактически, нам надо завернуть в списочное выражение следующий код:

Python
result = ''
chars = []

for char, count in rle:
    chars.append(char * count)

result = ''.join(chars)

Посмотреть код

Решение

Python
''.join(char * count for char, count in rle)
Подписаться
Уведомить о
guest
2 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Smotri
Smotri
29.10.2024 10:08

Опечатка или взаимозаменяемая терминология?
В описании решения написано “пробежаться по словарю”, однако там вводные данные не являются словарём, а списком кортежей.