Python | Contar las ocurrencias de un carácter en una string

Dada una string, la tarea es contar la frecuencia de un solo carácter en esa string. Esta operación particular en strings es bastante útil en muchas aplicaciones, como eliminar duplicados o detectar caracteres no deseados.

Método #1: método ingenuo

Iterar la string completa para ese carácter en particular y luego aumentar el contador cuando encontremos el carácter en particular.

# Python3 code to demonstrate 
# occurrence frequency using 
# naive method 
  
# initializing string 
test_str = "GeeksforGeeks"
  
# using naive method to get count 
# counting e 
count = 0
  
for i in test_str:
    if i == 'e':
        count = count + 1
  
# printing result 
print ("Count of e in GeeksforGeeks is : "
                            +  str(count))

Producción :

Count of e in GeeksforGeeks is : 4

Método #2: Usarcount()

El uso count()es el método más convencional en Python para obtener la aparición de cualquier elemento en cualquier contenedor. Esto es fácil de codificar y recordar y, por lo tanto, bastante popular.

# Python3 code to demonstrate 
# occurrence frequency using 
# count()
  
# initializing string 
test_str = "GeeksforGeeks"
  
# using count() to get count 
# counting e 
counter = test_str.count('e')
  
# printing result 
print ("Count of e in GeeksforGeeks is : "
                           +  str(counter))

Producción :

Count of e in GeeksforGeeks is : 4

Método #3: Usarcollections.Counter()

Este es el método menos conocido para obtener la ocurrencia del elemento en cualquier contenedor en Python. Esto también realiza una tarea similar a los dos métodos anteriores, solo que es una función de una biblioteca diferente, es decir, colecciones.

# Python3 code to demonstrate 
# occurrence frequency using 
# collections.Counter()
from collections import Counter
  
# initializing string 
test_str = "GeeksforGeeks"
  
# using collections.Counter() to get count 
# counting e 
count = Counter(test_str)
  
# printing result 
print ("Count of e in GeeksforGeeks is : "
                       +  str(count['e']))

Producción :

Count of e in GeeksforGeeks is : 4

Método #4: Usar lambda sum()++map()

Las funciones Lambda, junto con sum()y map()pueden lograr esta tarea particular de contar el total de ocurrencias de un elemento particular en una string. Esto suele sum()sumar todas las ocurrencias obtenidas usando map().

# Python3 code to demonstrate 
# occurrence frequency using 
# lambda + sum() + map()
  
# initializing string 
test_str = "GeeksforGeeks"
  
# using lambda + sum() + map() to get count 
# counting e 
count = sum(map(lambda x : 1 if 'e' in x else 0, test_str))
  
# printing result 
print ("Count of e in GeeksforGeeks is : "
                            +  str(count))

Producción :

Count of e in GeeksforGeeks is : 4

 
Método #5: Usarre + findall()

Las expresiones regulares pueden ayudarnos a lograr muchas tareas de codificación relacionadas con strings. También pueden ayudarnos a lograr la tarea de encontrar la aparición de un elemento en una string.

# Python3 code to demonstrate 
# occurrence frequency using 
# re + findall()
import re
  
# initializing string 
test_str = "GeeksforGeeks"
  
# using re + findall() to get count 
# counting e 
count = len(re.findall("e", test_str))
  
# printing result 
print ("Count of e in GeeksforGeeks is : "
                            +  str(count))

Producción :

Count of e in GeeksforGeeks is : 4

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *