Python | Contar K carácter entre caracteres consecutivos

A veces, mientras trabajamos con strings, podemos tener un problema en el que necesitamos verificar el conteo de cada carácter entre el carácter consecutivo. Este tipo de problema puede tener aplicación en el día a día y en el dominio del desarrollo web. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n.º 1: Usar bucle
Esta es una forma de fuerza bruta en la que se puede realizar esta tarea. En esto, iteramos la lista contando el carácter K entre cada uno de los caracteres.

# Python3 code to demonstrate working of 
# Count K character between consecutive characters
# Using loop
  
# initializing string
test_str = "g...f..g.i..s....b..e....s...t"
  
# printing original string
print("The original string is : " + test_str)
  
# initializing K 
K = '.'
  
# Count K character between consecutive characters
# Using loop
count = 0
res = []
for ele in test_str:
    if ele == K:
        count += 1
    else:
        res.append(count)
        count = 0
res = res[1:]
  
# printing result 
print("List of character count : " + str(res)) 
Producción :

The original string is : g...f..g.i..s....b..e....s...t
List of character count : [3, 2, 1, 2, 4, 2, 4, 3]

Método n.º 2: usar la comprensión de listas +findall()
Esta es otra forma más de resolver este problema. En esto, verificamos si aparece el carácter K usando findall() y se usa la comprensión de la lista para iterar sobre la string.

# Python3 code to demonstrate working of 
# Count K character between consecutive characters
# Using list comprehension + findall()
import re
  
# initializing string
test_str = "g---f--g-i--s----b--e----s---t"
  
# printing original string
print("The original string is : " + test_str)
  
# Count K character between consecutive characters
# Using list comprehension + findall()
res = [len(ele) for ele in re.findall('(?<=[a-z])-*(?=[a-z])', test_str)]
  
# printing result 
print("List of character count : " + str(res)) 
Producción :

The original string is : g---f--g-i--s----b--e----s---t
List of character count : [3, 2, 1, 2, 4, 2, 4, 3]

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 *