F. Буквенная статистика

Вашему решению будет предоставлена строка text.

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

При анализе не учитывайте регистр, а ключами словаря сделайте использованные в строке буквы в нижнем регистре.

Примечание

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

Пример

Ввод

text = 'Мама мыла раму!'

Вывод

{'а': 4, 'л': 1, 'м': 4, 'р': 1, 'у': 1, 'ы': 1}

Ввод

text = '''Ехали медведи
На велосипеде.

А за ними кот
Задом наперёд.'''

Вывод

{   'а': 6,
    'в': 2,
    'д': 5,
    'е': 7,
    'з': 2,
    'и': 5,
    'к': 1,
    'л': 2,
    'м': 3,
    'н': 3,
    'о': 3,
    'п': 2,
    'р': 1,
    'с': 1,
    'т': 1,
    'х': 1,
    'ё': 1}

Решение

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

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

Python
result = {}

for letter in set(text.lower()):
    if letter.isalpha():
        result[letter] = text.lower().count(letter)

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

Решение

Python
{letter: text.lower().count(letter) for letter in set(text.lower()) if letter.isalpha()}
Подписаться
Уведомить о
guest
1 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Ilya
Ilya
23.07.2024 11:19

Добавил к вашему решению sorted(set(text.lower())).
В условии не сказано про вывод по порядку, но во втором примере оно именно так воспроизведено. Возможно для визуализации по алфавиту удобнее.

Последний раз редактировалось 4 месяцев назад Ilya ем