2014-03-05 25 views
26

Ich bin neu in Python und kann nicht den Unterschied zwischen finden und Index verstehen.Unterschied zwischen Suche und Index

>>> line 
'hi, this is ABC oh my god!!' 
>>> line.find("o") 
16 
>>> line.index("o") 
16 

Sie geben immer das gleiche Ergebnis zurück. Danke !!

Antwort

38

str.find gibt -1 zurück, wenn es die Teilzeichenfolge nicht findet.

>>> line = 'hi, this is ABC oh my god!!' 
>>> line.find('?') 
-1 

Während str.index wirft ValueError:

>>> line.index('?') 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ValueError: substring not found 

Beide Funktionen die gleiche Art und Weise verhalten, wenn eine Unter Zeichenfolge gefunden wird.

+1

und wenn ein Teilstring gefunden wird, verhalten sich beide Funktionen auf die gleiche Weise? – SohamC

+0

@ user1603970, Ja, das tun sie. Ihre Parameter sind auch gleich. – falsetru

+0

@ user1603970, Nach der Index-Dokumentation, die ich in der Antwort verlinkt habe: Wie find(), aber ValueError auslösen, wenn der Teilstring nicht gefunden wird. – falsetru

-3

Sie können dies lesen website zu wissen, wie find und index Funktion zu implementieren.

Sie können die beiden Funktionen mit der gleichen gemeinsamen Funktion finden, nur das Ergebnis ist anders.

+2

Link-Only-Antworten verlieren ihren Wert, wenn die Verbindung unterbrochen wird. –

Verwandte Themen