Contar apariciones de un carácter en una cadena en Python
-
Utilice la función
count()
para contar el número de caracteres que aparecen en una cadena en Python -
Utilice el
collections.Counter
para contar las apariciones de un carácter en una cadena en Python - Use expresiones regulares para contar las apariciones de un carácter en una cadena en Python
-
Utilice el
defaultdict
para contar las apariciones de un carácter en una cadena en Python -
Utilice
pandas.value_counts()
para contar las apariciones de un carácter en una cadena en Python -
Utilice una expresión
lambda
para contar las apariciones de un carácter en una cadena en Python -
Utilice el bucle
for
para contar las apariciones de un carácter en una cadena en Python
En Programación, una cadena es una secuencia de caracteres.
Este tutorial presentará cómo contar el número de apariciones de un carácter en una cadena en Python.
Utilice la función count()
para contar el número de caracteres que aparecen en una cadena en Python
Podemos contar la ocurrencia de un valor en cadenas usando la función count()
. Devolverá cuántas veces aparece el valor en la cadena dada.
Por ejemplo,
print("Mary had a little lamb".count("a"))
Producción :
4
Recuerde, las mayúsculas y minúsculas se tratan como caracteres diferentes. ‘A’ y ‘a’ se tratarán como caracteres diferentes y tendrán diferentes recuentos.
Utilice el collections.Counter
para contar las apariciones de un carácter en una cadena en Python
Un Counter
es una subclase de diccionario presente en el módulo collections
. Almacena los elementos como claves de diccionario y sus apariciones se almacenan como valores de diccionario. En lugar de generar un error, devuelve un recuento cero para los elementos faltantes.
Por ejemplo,
from collections import Counter
my_str = "Mary had a little lamb"
counter = Counter(my_str)
print(counter["a"])
Producción :
4
Es una mejor opción cuando se cuentan muchas letras, ya que el contador calcula todas las cuentas una vez. Es mucho más rápido que la función count()
.
Use expresiones regulares para contar las apariciones de un carácter en una cadena en Python
Una expresión regular es una sintaxis especializada contenida en un patrón que ayuda a encontrar las cadenas o el conjunto de cadenas haciendo coincidir ese patrón. Importamos el módulo re
para trabajar con expresiones regulares.
Podemos usar la función findall()
para nuestro problema.
Por ejemplo,
import re
my_string = "Mary had a little lamb"
print(len(re.findall("a", my_string)))
Producción :
4
Utilice el defaultdict
para contar las apariciones de un carácter en una cadena en Python
Defaultdict
está presente en el módulo collections
y se deriva de la clase de diccionario. Su funcionalidad es relativamente la misma que la de los diccionarios, excepto que nunca genera un KeyError
, ya que proporciona un valor predeterminado para la clave que nunca existe.
Podemos usarlo para obtener las apariciones de un carácter en una cadena como se muestra a continuación.
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
Producción :
4
2
0
Utilice pandas.value_counts()
para contar las apariciones de un carácter en una cadena en Python
Podemos usar el método pandas.value_counts()
para obtener las ocurrencias de todos los caracteres presentes en la cadena proporcionada. Necesitamos pasar la cadena como un objeto Series
.
Por ejemplo,
import pandas as pd
phrase = "Mary had a little lamb"
print(pd.Series(list(phrase)).value_counts())
Producción :
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
Devuelve las apariciones de todos los caracteres en un objeto Series
.
Utilice una expresión lambda
para contar las apariciones de un carácter en una cadena en Python
Las funciones lambda
no solo pueden contar las ocurrencias de la cadena dada, sino que también pueden funcionar cuando tenemos la cadena, como una lista de subcadenas.
Consulte el siguiente 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)))
Producción :
4
Utilice el bucle for
para contar las apariciones de un carácter en una cadena en Python
Iteramos sobre la cadena, y si el elemento es igual al carácter deseado, la variable de recuento se incrementa hasta llegar al final de la cadena.
Por ejemplo,
sentence = "Mary had a little lamb"
count = 0
for i in sentence:
if i == "a":
count = count + 1
print(count)
Producción :
4
Podemos ver otra forma de usar este método con la función sum()
que se puede ver a continuación.
my_string = "Mary had a little lamb"
print(sum(char == "a" for char in my_string))
Producción :
4