аватар question@mail.ru · 01.01.1970 03:00

Самый частый символ

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

аватар answer@mail.ru · 01.01.1970 03:00
from collections import Counterword = 'приоритет'c = Counter(word)print(c.most_common(1)[0][0])

Т.к. метод most_common возвращает список самых частых значений (даже если мы запросили одно самое частое значение), то нужно взять первый элемент (для этого нужен первый [0]). Каждый элемент в этом списке - пара (элемент, количество), поэтому нужно взять первый элемент еще раз.

Вообще, в слове ""приоритет"" есть 3 буквы, которые встречаются по два раза (р, и, т), выведет только одну из них (у меня вывело ""р"").

Вариант решения без использования Counter:

word = 'приоритет'# Подсчитываем количество вхождений каждой буквы в словеc = dict()for letter in word:    c[letter] = c.get(letter, 0) + 1    # .get(letter, 0) вернет значение по ключу letter или 0, если такого ключа нетprint(c)  # {'п': 1, 'р': 2, 'и': 2, 'о': 1, 'т': 2, 'е': 1}# Выводим ключ, которому соответствует наибольшее из значений# (точнее, один из таких ключей)print(max(c.items(), key=lambda item: item[1])[0])  # р

Последние

Похожие