Python | Частота каждого символа в строке

| | | | | | | | | | | |

Способ №1: Наивный метод

Просто перебираем строку и формируем ключ в словаре нового элемента или, если элемент уже существует, увеличиваем его значение на 1.

# демонстрационный код Python3
# частота each
# наивный метод


# инициализирующая строка

test_str = "GeeksforGeeks"


# с использованием наивного метода подсчета
# каждого элемента в строке

all_freq = {}

for i в test_str:

if i in all_freq:

all_freq [i] + = 1

else :

all_freq [i] = 1


# результат печати

print ( "Количество всех символов в Geek sforGeeks это: "

+ str (all_freq))

Вывод:

Количество всех символов в Python.Engineering: {`r`: 1,` e`: 4, `k`: 2,` G`: 2, `s`: 2,` f`: 1, `o`: 1} 

Способ № 2: Использование collections.Counter()

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


# Демонстрационный код Python3
# частота каждого появления
# collection.Counter ()

from коллекции import Counter


# строка инициализации

test_str = "GeeksforGeeks"


# используя collection.Counter() для получения
# количества каждого элемента строки

res = Счетчик ( test_str)


# результат печати

print ( "Количество всех символов в Python.Engineering:"

+ str (res))

Выход:

Количество всех символов в Python.Engineering: Counter ({`e`: 4,`s`: 2, `k`: 2,`G`: 2, `o`: 1, `r`: 1, ` f`: 1}) 

Способ № 3: Использование dict.get()

Метод get() используется для проверки ранее встречающегося символа в строке, если он новый, то присваивает 0 в качестве начала и добавляет к нему 1, в противном случае добавляет 1 к более раннему сохраненному значению этого элемента в словаре.


# демонстрационный код Python3
# частота каждого
# dict.get()


# строка инициализации

test_str = "GeeksforGeeks"


# использование dict.get() для подсчета
# каждого элемента в строке

res = {}


для ключи in test_str:

res [keys] = res.get (keys, 0 ) + 1


# результат печати

print ( "Количество всех символов в Python.Engineering:"

+ str (res))

Вывод:

Количество всех символов в Python.Engineering: {`k`: 2, `e`: 4, `s`: 2, `G`: 2,` f`: 1, `r`: 1, `o`: 1} 

Способ № 4: Использование set() + count()

count() комбинируется и с set () также может решить эту проблему, в этом случае мы просто перебираем заданную преобразованную строку и получаем количество каждого символа в исходной строке и присваиваем это значение этому элементу, подсчитываемому с помощью count() .


# демонстрационный код Python3
# частота каждого
# set () + count ()


# инициализирующая строка

test_str = "GeeksforGeeks"


# используя set() + count() для получения количества
# каждого элемента в строке

res = {i: test_str.count (i) for i in set (test_str)}


# результат печати

print ( "Количество всех символов в Python.Engineering: "

+ str (res))

Вывод:

 Количество всех символов в Python.Engineering: {`G`: 2,` s`: 2, `k`: 2,` e`: 4, `o`: 1,` r`: 1, ` ф`: 1}