Python – Distancia entre ocurrencias

A veces, mientras trabajamos con Python Strings, podemos tener una tarea en la que necesitamos encontrar la diferencia de índices entre las ocurrencias de un carácter en particular. Esto puede tener aplicaciones en dominios como la programación día a día. Analicemos ciertas formas en que se puede realizar esta tarea.

Método #1: Usando index():

Esta es una de las formas en que podemos resolver este problema. En esto, usamos el poder de index() para obtener el N-ésimo índice de ocurrencia y restarlo de la ocurrencia inicial. 

Python3

# Python3 code to demonstrate working of
# Distance between occurrences
# Using index()
 
# initializing string
test_str = 'geeksforgeeks'
 
# printing original string
print("The original string is : " + str(test_str))
 
# initializing K
K = 'k'
 
# Distance between occurrences
# Using index()
res = test_str.index(K, test_str.index(K) + 1) - test_str.index(K)
 
# printing result
print("The character occurrence difference is : " + str(res))
Producción : 

The original string is : geeksforgeeks
The character occurrence difference is : 8

Método #2: Usando find() + rfind():

La combinación de las funciones anteriores se puede utilizar para resolver este problema. En esto, encontramos la primera ocurrencia usando find() y next(last) usando rfind(). 

Python3

# Python3 code to demonstrate working of
# Distance between occurrences
# Using find() + rfind()
 
# initializing string
test_str = 'geeksforgeeks'
 
# printing original string
print("The original string is : " + str(test_str))
 
# initializing K
K = 'k'
 
# Distance between occurrences
# Using find() + rfind()
res = test_str.rfind(K) - test_str.find(K)
 
# printing result
print("The character occurrence difference is : " + str(res))
Producción : 

The original string is : geeksforgeeks
The character occurrence difference is : 8

Método #3: Sin ningún método incorporado

Python3

# Python3 code to demonstrate working of
# Distance between occurrences
 
# initializing string
test_str = 'geeksforgeeks'
 
# printing original string
print("The original string is : " + test_str)
 
# initializing K
K = 'k'
 
# Distance between occurrences
x = []
for i in range(0, len(test_str)):
    if(test_str[i] == K):
        x.append(i)
res = x[1]-x[0]
 
# printing result
print("The character occurrence difference is : " + str(res))
Producción

The original string is : geeksforgeeks
The character occurrence difference is : 8

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 *