#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
итерации. В этом случае мы сравниваем на основе вхождения каждого элемента.