Vielleicht klingt es nach einer dummen Frage. Ich muss jedoch lernen, was Index ist, weil ich Python lernen möchte.

Auf einer Website habe ich beispielsweise Folgendes gesehen:

Die Methode find () bestimmt, ob die Zeichenfolge str in der Zeichenfolge oder in einer Teilzeichenfolge der Zeichenfolge vorkommt, wenn der Startindexbeginn und das Endindexende angegeben sind.

http://www.tutorialspoint.com/python/string_find.htm

Was bedeutet "Index" hier? Ich möchte, dass Sie es mir erklären, als würden Sie einem Kind etwas erklären. Weil mein Verständnis etwas schlecht ist. Wie auch immer. Sie können sogar Beispiele bereitstellen, um zu erklären, was ein Index ist.

Danke vielmals.

7
Rakanoth 28 Nov. 2013 im 18:05

4 Antworten

Beste Antwort

Ein Index bezieht sich in Ihrem Beispiel auf eine Position innerhalb einer geordneten Liste. Python-Strings können als Listen von Zeichen betrachtet werden. Jedes Zeichen erhält einen Index von Null (am Anfang) bis zur Länge minus Eins (am Ende).

Für die Zeichenfolge "Python" werden die Indizes wie folgt aufgeteilt:

P y t h o n
0 1 2 3 4 5

Darüber hinaus unterstützt Python negative Indizes. In diesem Fall zählt es ab dem Ende. So kann das letzte Zeichen mit -1 indiziert werden, das vorletzte mit -2 usw.:

 P  y  t  h  o  n
-6 -5 -4 -3 -2 -1

Meistens können Sie positive und negative Indizes frei mischen. Wenn Sie beispielsweise find nur vom vorletzten bis zum vorletzten Zeichen verwenden möchten, können Sie Folgendes tun:

"Python".find("y", beg=1, end=-2)
8
Platinum Azure 28 Nov. 2013 im 14:14

Wenn eine Straße mit Häusern eine Analogie für ein Array mit Elementen ist, ist die Hausnummer eine Analogie für den Index. Python verwendet jedoch Zahlen von Null.

Die in Python eingebauten Sequenztypen (Version 3) sind Zeichenfolgen (Sequenzen von Unicode-Zeichen), Bytes (Sequenzen kleiner Ganzzahlen von Null bis 255, dh Bytewerte), Tupel (Sequenzen beliebiger Elemente) und Listen (Sequenzen) von welchen Elementen auch immer). Alle von ihnen werden über Arrays implementiert; Auf diese Weise können sie wie für Arrays in jeder (anderen) Programmiersprache üblich indiziert werden.

Wenn a ein solches Array ist (dh einer der oben genannten Sequenztypen), bezieht sich a[0] auf den Inhalt des ersten Hauses auf der Straße, a[1] auf das zweite Haus usw. Einige der Sequenzen können geändert werden (hier nur die Listen), daher werden sie als veränderlich bezeichnet. Einige der Sequenzen können nicht geändert werden (Zeichenfolgen, Bytes, Tupel), daher werden sie als unveränderlich bezeichnet.

Bei veränderlichen Objekten vom Typ Sequenz können die Elemente durch Zuweisung wie lst[0] = 3 geändert werden, die Elemente der unveränderlichen Sequenzen können nur gelesen und der Wert wie print(s[3]) verwendet werden.

Bei Listen und Tupeln werden die Elemente nicht direkt im Array gespeichert. Darin werden nur die Verweise auf die Zielobjekte gespeichert. Auf das Zielobjekt wird indirekt zugegriffen (ein Sprung entlang der Referenz). Denken Sie daran, dass Sie zum indizierten Haus gehen und die Person darin sagt Ihnen, wo sich der eigentliche Inhalt befindet (in einem anderen Haus, nicht in dieser Straße). In diesem Fall ist sogar das Element aus dem (unveränderlichen) Tupel wie t[5] - d.h. Die Referenz - kann verwendet werden, um den Inhalt des Zielobjekts zu ändern ... wenn das Zielobjekt veränderbar ist.

4
pepr 28 Nov. 2013 im 19:28

"Index" ist als "Position" gemeint.

Verwenden wir als Beispiel find(): find() sucht nach einer Zeichenfolge in einer anderen Zeichenfolge. Die Suche beginnt am Anfangsindex mit dem Namen beg und die Suche am Endindex mit dem Namen end. Es wird also nur zwischen beg und end gesucht. Normalerweise (standardmäßig) ist beg 0 (was bedeutet, dass es das erste Zeichen in der Zeichenfolge ist) und end ist die Länge der Zeichenfolge minus eins (was bedeutet, dass es das allerletzte Zeichen in der Zeichenfolge ist ). Ein Index ist also nur eine Position (nicht nur in einer Zeichenfolge, z. B. auch in einem Array).

6
Thomas Uhrig 28 Nov. 2013 im 14:10

Betrachten Sie diese Zeichenfolge "Hello". Wenn Sie auf einige seiner Zeichen wie e hinweisen möchten, benötigen Sie einen Index, bei dem es sich um eine Positionsnummer handelt. Indizes in Python beginnen bei Null zu zählen. Der Index des Buchstabens e in "Hello" ist also 1.

Versuchen Sie, diese Codezeile auszuführen:

print "Hello".find("e");

Es sollte Ihnen 1 zurückgeben.

Sie können weiter damit spielen und es erneut ausführen, was es tut. Versuchen Sie, "e" durch "H" zu ersetzen, und versuchen Sie als nächstes etwas, das nicht in "Hello" enthalten ist.

4
nio 28 Nov. 2013 im 14:11