Diferencia entre find() e index() en Python

En Python, para encontrar el índice de una substring en una string se puede ubicar mediante la función incorporada de python usando find() o index(). Ambos devuelven el índice inicial de la substring en una string, si existe. Este artículo analiza cuál usar, cuándo y por qué.

función índice()

El método index() devuelve el índice de una substring o carácter dentro de la string (si se encuentra). Si no se encuentra la substring o el carácter, genera una excepción.

Sintaxis:

string.index(<substring>)

Ejemplo:

Python3

string = 'geeks for geeks'
  
# returns index value
result = string.index('for')
print("Substring for:", result)
  
result3 = string.index("best")
print("substring best:", result3)

Producción:

Substring para: 6

Rastreo (llamadas recientes más última):

 Archivo “<string>”, línea 8, en <módulo>

ValueError: substring no encontrada

método buscar()

El método find() devuelve el índice de la primera aparición de la substring o char (si se encuentra). Si no se encuentra, devuelve -1.

Sintaxis:

string.find(<substring>)

Ejemplo:

Python3

string = 'geeks for geeks'
  
# returns index value
result = string.find('for')
print("Substring for:", result)
  
result = string.find('best')
print("Substring best:", result)

Producción:

Substring para: 6

Mejor substring: -1

Tabla de diferencias entre index() y find()

índice() encontrar()
Devuelve una excepción si no se encuentra la substring Devuelve -1 si no se encuentra la substring
No debe usarse si no está seguro de la presencia de la substring Es la función correcta para usar cuando no está seguro de la presencia de una substring
Esto se puede aplicar a strings, listas y tuplas. Esto solo se puede aplicar a strings.
No se puede usar con sentencia condicional. Se puede usar con una declaración condicional para ejecutar una declaración si se encuentra una substring y si no lo es.

Publicación traducida automáticamente

Artículo escrito por vijayakumarchinthala 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 *