Найдите букву с наибольшим количеством вхождений в строку и выведите только букву, а не количество

#python

#python

Вопрос:

Как я могу найти букву с наибольшим количеством появлений в строке и вывести только букву, а не количество? С коллекциями.Счетчик, он всегда отображает количество, а также букву. Текущий вывод: (‘l’, 3) . Предпочтительный вывод: l

 import collections
s = "helloworld"
print(collections.Counter(s).most_common(1)[0])

  

Ответ №1:

Вместо

 print(collections.Counter(s).most_common(1)[0])
  

Вы можете написать

 print(collections.Counter(s).most_common(1)[0][0])
  

Это даст вам первый элемент кортежа, поэтому вывод будет l .

Ответ №2:

Вы также можете сделать что-то вроде:

 txt = "aaaaaaaabbbbbcccdde"
print(max(set(txt), key=txt.count))
  

вывод:

 a
  

Ответ №3:

Вы можете использовать max() функцию с другой функцией в качестве key параметра следующим образом:

 s = "helloworld"
print(max(s, key = lambda c: s.count(c)))
  

key Параметр — это функция, которая будет использоваться при сравнении двух элементов s итерации. В этом случае мы сравниваем на основе вхождения каждого элемента.