Contar ocorrências de um personagem em uma string em Python
-
Use a função
count()
para contar o número de caracteres que ocorrem em uma string em Python -
Use o
collections.Counter
para contar as ocorrências de um personagem em uma string em Python - Use expressões regulares para contar as ocorrências de um caractere em uma string em Python
-
Use o
defaultdict
para contar as ocorrências de um caractere em uma string em Python -
Use o
pandas.value_counts()
para contar as ocorrências de um personagem em uma string em Python -
Use uma expressão
lambda
para contar as ocorrências de um caractere em uma string em Python -
Use o loop
for
para contar as ocorrências de um caractere em uma string em Python
Na programação, uma string é uma sequência de caracteres.
Este tutorial irá apresentar como contar o número de ocorrências de um caractere em uma String em Python.
Use a função count()
para contar o número de caracteres que ocorrem em uma string em Python
Podemos contar a ocorrência de um valor em strings usando a função count()
. Ele retornará quantas vezes o valor aparece na string fornecida.
Por exemplo,
print("Mary had a little lamb".count("a"))
Resultado:
4
Lembre-se de que maiúsculas e minúsculas são tratadas como caracteres diferentes. ‘A’ e ‘a’ serão tratados como caracteres diferentes e terão contagens diferentes.
Use o collections.Counter
para contar as ocorrências de um personagem em uma string em Python
Um Counter
é uma subclasse de dicionário presente no módulo collections
. Ele armazena os elementos como chaves de dicionário e suas ocorrências são armazenadas como valores de dicionário. Em vez de gerar um erro, ele retorna uma contagem zero para itens ausentes.
Por exemplo,
from collections import Counter
my_str = "Mary had a little lamb"
counter = Counter(my_str)
print(counter["a"])
Resultado:
4
É uma escolha melhor ao contar muitas letras, pois o contador calcula todas as contagens uma vez. É muito mais rápido do que a função count()
.
Use expressões regulares para contar as ocorrências de um caractere em uma string em Python
Uma expressão regular é uma sintaxe especializada mantida em um padrão que ajuda a encontrar as strings ou conjunto de strings correspondendo a esse padrão. Importamos o módulo re
para trabalhar com expressões regulares.
Podemos usar a função findall()
para o nosso problema.
Por exemplo,
import re
my_string = "Mary had a little lamb"
print(len(re.findall("a", my_string)))
Resultado:
4
Use o defaultdict
para contar as ocorrências de um caractere em uma string em Python
Defaultdict
está presente no módulo collections
e é derivado da classe de dicionário. Sua funcionalidade é relativamente igual à dos dicionários, exceto que nunca gera um KeyError
, pois fornece um valor padrão para a chave que nunca existe.
Podemos usá-lo para obter as ocorrências de um caractere em uma string, conforme mostrado abaixo.
from collections import defaultdict
text = "Mary had a little lamb"
chars = defaultdict(int)
for char in text:
chars[char] += 1
print(chars["a"])
print(chars["t"])
print(chars["w"]) # element not present in the string, hence print 0
Resultado:
4
2
0
Use o pandas.value_counts()
para contar as ocorrências de um personagem em uma string em Python
Podemos usar o método pandas.value_counts()
para obter as ocorrências de todos os caracteres presentes na string fornecida. Precisamos passar a string como um objeto Series
.
Por exemplo,
import pandas as pd
phrase = "Mary had a little lamb"
print(pd.Series(list(phrase)).value_counts())
Resultado:
4
a 4
l 3
t 2
e 1
b 1
h 1
r 1
y 1
M 1
m 1
i 1
d 1
dtype: int64
Ele retorna as ocorrências de todos os personagens em um objeto Series
.
Use uma expressão lambda
para contar as ocorrências de um caractere em uma string em Python
As funções lambda
podem não apenas contar ocorrências de uma string dada, mas também podem funcionar quando temos a string, como uma lista de sub-strings.
Veja o seguinte código.
sentence = ["M", "ar", "y", "had", "a", "little", "l", "am", "b"]
print(sum(map(lambda x: 1 if "a" in x else 0, sentence)))
Resultado:
4
Use o loop for
para contar as ocorrências de um caractere em uma string em Python
Nós iteramos sobre a string e, se o elemento for igual ao caractere desejado, a variável de contagem é incrementada até chegarmos ao final da string.
Por exemplo,
sentence = "Mary had a little lamb"
count = 0
for i in sentence:
if i == "a":
count = count + 1
print(count)
Resultado:
4
Podemos ver outra maneira de usar este método com a função sum()
que pode ser vista abaixo.
my_string = "Mary had a little lamb"
print(sum(char == "a" for char in my_string))
Resultado:
4