Encontrar un carácter en una cadena en Python

Manav Narula 30 enero 2023
  1. Utilice la función find() para encontrar la posición de un carácter en una cadena
  2. Utilice la función rfind() para encontrar la posición de un carácter en una cadena
  3. Utilice la función index() para encontrar la posición de un carácter en una cadena
  4. Utilice el bucle for para encontrar la posición de un carácter en una cadena
Encontrar un carácter en una cadena en Python

Las cadenas son una colección de caracteres. Cada carácter de la cadena tiene una posición específica que se puede utilizar para acceder a él. En este tutorial, discutiremos cómo encontrar la posición de un carácter en una cadena.

Utilice la función find() para encontrar la posición de un carácter en una cadena

La función find() devuelve la posición de una subcadena. También podemos especificar las posiciones inicial y final en las que queremos buscar (por defecto, el inicio es 0 y el final es la longitud de la cadena).

En el siguiente código, usaremos esta función para encontrar la posición de un carácter en una cadena.

s = "python is fun"
c = "n"
print(s.find(c))

Producción :

5

Tenga en cuenta que devuelve la primera posición del carácter encontrado en la cadena. Otra cosa para recordar acerca de esta función es que devuelve -1 cuando la subcadena dada no está presente en la cadena.

Utilice la función rfind() para encontrar la posición de un carácter en una cadena

Esta función es similar a la función find(), con la única diferencia de que devuelve la última posición de la subcadena.

Por ejemplo,

s = "python is fun"
c = "n"
print(s.rfind(c))

Producción :

12

Utilice la función index() para encontrar la posición de un carácter en una cadena

La función index() se usa de manera similar a la función find() para devolver la posición de los caracteres en una cadena. Al igual que la función find(), también devuelve la primera aparición del carácter en la cadena.

Por ejemplo,

s = "python is fun"
c = "n"
print(s.index(c))

Producción :

5

La diferencia entre la función index() y find() es que la función index() devuelve ValueError cuando falta el carácter requerido en la cadena.

Utilice el bucle for para encontrar la posición de un carácter en una cadena

En este método, podemos anotar cada aparición del carácter en una cadena. Repetimos la cadena y comparamos cada carácter individualmente. Cada posición donde se encuentra la coincidencia se indica y se almacena en una variable diferente.

El siguiente código implementa esta lógica.

s = "python is fun"
c = "n"
lst = []
for pos, char in enumerate(s):
    if char == c:
        lst.append(pos)
print(lst)

Producción :

[5, 12]

Usamos la función enumerate() porque facilita la iteración y asigna una variable de contador con cada carácter de la cadena.

También podemos implementar este método usando el método de comprensión de listas, que se considera más rápido y más limpio.

Por ejemplo,

s = "python is fun"
c = "n"
print([pos for pos, char in enumerate(s) if char == c])

Producción :

[5, 12]
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Artículo relacionado - Python String