Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Python. Найдите букву, с которой чаще всего начинаются слова

Ariadlif Ученик (191), на голосовании 8 месяцев назад
 with open('words_freq.txt', encoding='utf-8') as file: 
words = (sorted(file, reverse=True))
list1 = [elem.strip().split(';') for elem in words]


print(list1)
Вывод:
[['40 аня'], ['28 свой'], ['19 говорить'], ['17 это'], ['17 сказать'], ['17 модест'], ['17 который'] и т.д

Надо найти самую популярную первую букву и количество слов на неё.
Хотел попробовать через словарь не могу преобразовать.
В фале хранится 40 аня , 28 свой и т.д и всё это находится в подстрочном виде не упорядочено .
Голосование за лучший ответ
YT_VolkOFF Оракул (81029) 9 месяцев назад
Вот код для решения данной задачи:
def find_most_frequent_letter(file_name):
with open(file_name, encoding=‘utf-8’) as file:
words = file.read ().split()
# Создаем словарь, где ключ - первая буква слова, значение - количество вхождений
word_count = {}
for word in words:
if word[0] not in word_count:
word_count[word[0]] = 0
word_count[word[0]] += 1

max_count = 0
most_frequent = None
for letter, count in word_count.items():
if count > max_count:
max_count = count
most_frequent = letter

return most_frequent, max_count
most_frequent_letter, most_frequent_count = find_most_frequent_letter(‘words_freq.txt’)
print(f"Самая популярная первая буква слов: {most_frequent_letter}, количество слов: {most_frequent_count}")
В данном коде мы открываем файл words_freq.txt, разбиваем его содержимое на слова и создаем словарь word_count, где ключ - это первая буква каждого слова, а значение - количество ее вхождений. Затем мы перебираем все буквы в словаре и находим букву с максимальным количеством вхождений, которая и является самой популярной первой буквой в файле.
Похожие вопросы