Контекст
Представьте, что вы — детектив, который получил загадочное письмо с шифровкой. Нужно найти количество уникальных символов в письме, чтобы разгадать его и раскрыть тайну.
Задача
Напишите функцию, которая принимает строку и возвращает количество уникальных символов в строке. Используйте для выполнения задачи lambda-функции и map и/или filter.
Сделайте так, чтобы алгоритм НЕ был регистрозависим: буквы разного регистра должны считаться одинаковыми.
Советы
- Работать с регистрами помогут методы строк lower/upper.
- Уникальными считаются буквы, которые повторяются только один раз (например строка «аа» будет содержать 0 уникальных букв).
# Пример:
message = "Today is a beautiful day! The sun is shining and the birds are singing."
unique_count = count_unique_characters(message)
print("Количество уникальных символов в строке:", unique_count)
# Вывод:
Количество уникальных символов в строке — 5.
from collections import Counter
def count_unique_characters(element: str) -> int:
return sum(list(filter(lambda value: value == 1, Counter(element.lower()).values())))
# Пример использования:
message = "Today is a beautiful day! The sun is shining and the birds are singing."
unique_count = count_unique_characters(message)
if __name__ == '__main__':
print("Количество уникальных символов в строке:", unique_count)