Способ №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}