2010-07-11 13 views

Respuesta

118

find()

>>> s = "the dude is a cool dude" 
>>> s.find('dude') 
4 
+15

Y es por eso que amo pitón –

+7

Devuelve '-1' si no se encuentra –

3

Descripción rápida: index y find

junto al método find no es así index. find y index tanto producir el mismo resultado: devolver la posición de la primera aparición, pero si no se encuentra nada index elevará un ValueError mientras find rendimientos -1. Speedwise, ambos tienen los mismos resultados de referencia.

s.find(t) #returns: -1, or index where t starts in s 
s.index(t) #returns: Same as find, but raises ValueError if t is not in s 

conocimiento adicional: rfind y rindex:

En general, encontrar y índice de rentabilidad del índice más pequeño donde el pasado-en cadena comienza, y rfind y rindex devolver el índice más grande donde empieza La mayoría de los algoritmos de búsqueda de cadenas buscan desde de izquierda a derecha, por lo que las funciones que comienzan con r indican que la búsqueda se realiza desde de derecha a izquierda.

Así que en caso de que la probabilidad de que el elemento que está buscando está cerca del final que del comienzo de la lista, o rfindrindex sería más rápido.

s.rfind(t) #returns: Same as find, but searched right to left 
s.rindex(t) #returns: Same as index, but searches right to left 

Fuente: Python: Guía Visual de inicio rápido, Toby Donaldson

Cuestiones relacionadas