Der Zahlenindex ist die Position, an der sich diese Zahl in einem Array oder einer Liste befindet. Wenn wir den Index einer Zahl kennen, können wir auf ihren Wert zugreifen oder bestimmte Operationen damit durchführen.
Wenn Sie den Index einer Zahl in Python ableiten müssen, gibt es mehrere Möglichkeiten, die Ihnen helfen können. Im Folgenden sind 6 verschiedene Möglichkeiten aufgeführt, die Sie für diese Aufgabe verwenden können.
1. Verwenden der index() -Methode
Die index() -Methode gibt den Index des ersten Vorkommens des angegebenen Elements in der Liste zurück. Sie können diese Methode verwenden, um den Index einer Zahl zu finden:
numbers = [1, 2, 3, 4, 5]
2. Verwenden einer for-Schleife
Eine andere Möglichkeit, den Index einer Zahl abzuleiten, besteht darin, eine for-Schleife zu verwenden, um die Listenelemente zu durchlaufen:
numbers = [1, 2, 3, 4, 5]
for index, number in enumerate(numbers):
if number == target:
3. Verwenden der find() -Methode
4. Verwenden von regulären Ausdrücken
Wenn Sie einen komplexen Text haben und den Index einer Zahl in diesem Text finden müssen, können Sie reguläre Ausdrücke verwenden:
match = re.search(target, text)
5. Verwenden des Listengenerators
Listengeneratoren sind eine kompakte Möglichkeit, Listen in Python zu erstellen. Sie können sie verwenden, um eine Liste von Zahlenindizes zu erstellen:
numbers = [1, 2, 3, 4, 5]
indices = [i for i in range(len(numbers)) if numbers[i] in targets]
Hier erstellen wir eine neue Indices-Liste, die Indizes von Zahlen aus der Numbers-Liste enthält, die mit Zahlen aus der Targets-Liste übereinstimmen. Das Ergebnis wäre eine Liste [2, 4], da die Zahlen 3 und 5 an den Positionen 2 bzw. 4 liegen.
6. Verwenden der Funktion index()
Wenn Sie eine Funktion haben, die eine Liste oder ein Array zurückgibt, können Sie die Funktion index() verwenden, um den Index einer Zahl zu erhalten:
Dies waren 6 verschiedene Möglichkeiten, die Indizes einer Zahl in Python abzuleiten. Jeder kann in verschiedenen Situationen nützlich sein, also wählen Sie den für Ihre Aufgabe am besten geeigneten aus.
Integer-Division-Methode
Führen Sie die folgenden Schritte aus, um die Integer-Division-Methode anzuwenden:
- Wählen Sie die Nummer aus, deren Indizes angezeigt werden sollen.
- Wählen Sie eine ganze Zahl aus, um die die ausgewählte Zahl geteilt werden soll.
- Dividieren Sie die ausgewählte Zahl durch eine ganze Zahl.
- Den Bruchteil des Teilungsergebnisses ignorieren und den resultierenden Rest verwerfen.
Der Vorteil der Integer-Division-Methode besteht darin, dass Sie die Indizes einer Zahl abrufen kann, ohne dass zusätzliche mathematische Operationen oder Funktionen erforderlich sind.
Beispiel für die Verwendung der Integer-Division-Methode: wenn die ausgewählte Zahl 1234 ist und die zu teilende ganzzahlige Zahl 10 ist, lautet das Ergebnis 123.
Verwenden mathematischer Funktionen
Sie können auch einige mathematische Funktionen verwenden, um die Indizes einer Zahl zu berechnen:
- Die Math-Methode.abs() gibt den absoluten Wert einer Zahl zurück.
- Die Math-Methode.floor() rundet die Zahl auf den nächsten ganzzahligen Wert ab.
- Die Math-Methode.ceil() rundet die Zahl auf den nächsten ganzzahligen Wert auf.
- Die Math-Methode.round() rundet eine Zahl auf den nächsten ganzzahligen Wert auf.
- Die Math-Methode.sqrt() gibt die Quadratwurzel einer Zahl zurück.
- Die Math-Methode.pow() erhöht die Zahl um einen bestimmten Grad.
Diese Funktionen können nützlich sein, wenn Sie bestimmte mathematische Operationen ausführen müssen, um die Indizes einer Zahl zu erhalten. Wenn Sie beispielsweise den Index der letzten Ziffer einer Zahl abrufen möchten, können Sie die Math-Funktion verwenden.abs() um den absoluten Wert einer Zahl abzurufen, wenden Sie dann die toString() -Methode und die length - Methode an, um den Index des letzten Zeichens in der Zeichenfolge abzurufen.
Rekursiver Ansatz
Ein rekursiver Ansatz zum Finden von Indizes einer Zahl ist die Verwendung einer Funktion, die sich selbst aufruft.
Der Algorithmus für den rekursiven Ansatz besteht aus den folgenden Schritten:
- Überprüfen Sie, ob die Zahl positiv ist.
- Wenn die Zahl 0 ist, geben wir ein leeres Array zurück.
- Andernfalls rufen wir die Funktion rekursiv für eine um eins reduzierte Zahl auf.
- Fügen Sie dem resultierenden Array den Index der aktuellen Zahl (gleich der Zahl minus 1) hinzu.
- Wir geben das resultierende Array zurück.
Ein Beispiel für einen rekursiven Ansatz für die Zahl 6:
Anfangszahl: 6
Ergebnis: [0, 1, 2, 3, 4, 5]
Wie Sie aus dem Beispiel sehen können, ermöglicht der rekursive Ansatz das einfache und elegante Finden von Indizes einer Zahl.
Konvertieren einer Zahl in eine Zeichenfolge
Beispiel für die Verwendung der toString() -Methode:
| Zahl | Zeile |
|---|---|
| 15 | "15" |
| 3.14 | "3.14" |
| -10 | "-10" |
Nachdem Sie eine Zahl in eine Zeichenfolge konvertiert haben, können Sie auf ihre Indizes zugreifen, indem Sie die Zeilenzeichen nach Index aufrufen. Beispielsweise kann die Zeile "15" das erste Zeichen mit dem Index 0 (Zeile) erhalten[0] wird gleich "1" sein) und das zweite Zeichen mit dem Index 1 (String[1] wird gleich "5" sein).
Wenn Sie diese Methode verwenden, müssen Sie berücksichtigen, dass Zahlen mit führenden Nullen ihre Nullen verlieren können, wenn sie in eine Zeichenfolge konvertiert werden. Beispielsweise wird die Zahl 001 in die Zeichenfolge "1" konvertiert.
Verwenden von Bitoperationen
Eine andere Möglichkeit, die Indizes einer Zahl abzuleiten, besteht darin, Bitoperationen zu verwenden. Mit Bitoperationen können Sie mit einzelnen Bits einer Zahl arbeiten. Um beispielsweise das rechteste (niedrigste) Bit einer Zahl zu erhalten, können Sie die bitweise Und Eins-Operation verwenden:
Das Ergebnis dieser Operation wäre 1, wenn das rechteste Bit der Zahl x auf 1 gesetzt wurde, andernfalls 0.
Ebenso können Sie die Bits um eine bestimmte Anzahl von Positionen nach rechts verschieben, um das linke (höchste) Bit einer Zahl zu erhalten:
wobei x die Zahl ist, n die Anzahl der Positionen, um die die Bits verschoben werden sollen.
function printIndexes(number) > i) & 1) >>
Durch die Verwendung von Bitoperationen können Sie flexibler mit einzelnen Bits einer Zahl arbeiten und ihre Werte für verschiedene Berechnungen und Überprüfungen verwenden.
Verwenden von regulären Ausdrücken
- Erstellen Sie einen regulären Ausdruck, der nach Vorkommen einer Zahl in einer Zeichenfolge sucht. Sie können beispielsweise den Ausdruck /\d+/g verwenden, der nach allen Ziffernfolgen sucht.
- Wenden Sie den regulären Ausdruck mithilfe der match() -Methode auf eine Zeichenfolge an. Diese Methode gibt ein Array mit allen gefundenen Vorkommen zurück.
const string = 'abc123def456ghi789';const regex = /\d+/g;const matches = string.match(regex);matches.forEach((match) => равен $`);>);
Durch die Codeausführung werden die Indizes der Zahlen in der Zeile angezeigt:
Индекс числа 123 равен 3Индекс числа 456 равен 9Индекс числа 789 равен 15