Поиск самой редкой буквы в питон

letters = 0
words = 0
lines = 0
 
for line in open('zen.txt'):
    words += len(line.split())
    letters += sum(map(str.isalpha, line))
    lines += 1
 
print('Количество букв в файле:', letters)
print('Количество слов в файле:', words)
print('Количество строк в файле:', lines)

Помогите дописать код который найдет самую редкую букву в тексте и не будет учитывать спец символы


Ответы (1 шт):

Автор решения: gil9red

Нужно считать буквы и на этой основе найти самую редкую.

Например, это удобно сделать через Counter

Пример:

from collections import Counter

letters = 0
words = 0
lines = 0
letter_by_counter = Counter()
 
for line in open('zen.txt'):
    words += len(line.split())
    letters += sum(map(str.isalpha, line))
    letter_by_counter.update(c for c in line if c.isalpha())
    lines += 1
 
print('Количество букв в файле:', letters)
print('Количество слов в файле:', words)
print('Количество строк в файле:', lines)

rare_letter = min(letter_by_counter, key=letter_by_counter.get)
print('Самая редкая буква:', rare_letter)
→ Ссылка