Alle Indizes eines Zeichens in Python String finden
- Alle Indizes eines Zeichens innerhalb einer Zeichenkette mit regulären Ausdrücken in Python finden
-
Alle Indizes eines Zeichens innerhalb einer Zeichenkette mit dem Schlüsselwort
yield
in Python finden - Alle Indizes eines Zeichens innerhalb einer Zeichenkette mit List Comprehensions in Python finden
In diesem Tutorial werden die Methoden zum Abrufen aller Indizes eines Zeichens in einem String in Python erläutert.
Alle Indizes eines Zeichens innerhalb einer Zeichenkette mit regulären Ausdrücken in Python finden
Wir können die finditer()
-Funktion innerhalb des re
-Moduls von Python für unser spezielles Problem verwenden. Die Funktion finditer()
nimmt das Muster und den String als Eingabeparameter. Es liest die Zeichenkette von links nach rechts und gibt alle Indizes zurück, in denen das Muster auftritt. Wir können diese Funktion mit List Comprehension verwenden, um das Ergebnis in einer Liste in Python zu speichern. Der folgende Codeausschnitt zeigt uns, wie wir mit regulären Ausdrücken alle Indizes eines Zeichens innerhalb eines Strings finden.
import re
string = "This is a string"
char = "i"
indices = [i.start() for i in re.finditer(char, string)]
print(indices)
Ausgabe:
[2, 5, 13]
Wir haben die Funktion re.finditer()
verwendet, um jedes Zeichen innerhalb des string
zu durchlaufen und alle Zeichen zu finden, die mit char
übereinstimmen. Wir haben den Index i.start()
aller Zeichen, die zu char
passen, in Form einer Liste zurückgegeben und in indices
gespeichert. Am Ende haben wir alle Elemente von Indizes
dargestellt.
Alle Indizes eines Zeichens innerhalb einer Zeichenkette mit dem Schlüsselwort yield
in Python finden
Wir können auch das Schlüsselwort yield
innerhalb einer Funktion verwenden, um unser spezifisches Problem zu lösen. Das Schlüsselwort yield
wird verwendet, um mehrere Werte einer Funktion zurückzugeben, ohne den Zustand der lokalen Variablen dieser Funktion zu zerstören. Beim erneuten Aufruf der Funktion beginnt die Ausführung mit der vorherigen yield
-Anweisung. Wir können dieses Schlüsselwort verwenden, um alle Instanzen eines Zeichens innerhalb einer Zeichenkette zurückzugeben. Das folgende Codebeispiel zeigt uns, wie wir mit dem Schlüsselwort yield
alle Indizes eines Zeichens innerhalb eines Strings finden.
def find(string, char):
for i, c in enumerate(string):
if c == char:
yield i
string = "This is a string"
char = "i"
indices = list(find(string, char))
print(indices)
Ausgabe:
[2, 5, 13]
Wir haben die Funktion find(string, char)
definiert, die durch jedes Zeichen innerhalb des string
iteriert und den Index i
liefert, wenn das Zeichen mit char
übereinstimmt. Beim Aufruf der Funktion find()
haben wir alle zurückgegebenen Werte in einer Liste gespeichert und alle Elemente der Liste angezeigt.
Alle Indizes eines Zeichens innerhalb einer Zeichenkette mit List Comprehensions in Python finden
Wir können auch List Comprehensionse verwenden, um unser Problem zu lösen. List Comprehensionse werden verwendet, um neue Listen basierend auf bereits vorhandenen Listen zu erstellen. Wir können List Comprehension verwenden, um jedes Zeichen innerhalb der String-Variablen zu durchlaufen und den Index zurückzugeben, wenn das Zeichen mit dem gewünschten Zeichen übereinstimmt. List Comprehensionse geben Werte in Form von Listen zurück. Wir können diese Indexwerte in einer Liste speichern und die Ergebnisse anzeigen. Der folgende Codeausschnitt zeigt uns, wie wir alle Indizes eines Zeichens innerhalb eines Strings mit List Comprehension finden.
string = "This is a string"
char = "i"
indices = [i for i, c in enumerate(string) if c == char]
print(indices)
Ausgabe:
[2, 5, 13]
Wir haben List Comprehension verwendet, um jedes Zeichen c
innerhalb der Variablen string
zu durchlaufen und seinen Index i
zurückgegeben, wenn das Zeichen c
gleich unserem gewünschten Zeichen char
ist. Dies ist der einfachste und einfachste Weg, um alle Indizes eines Zeichens in einem String zu finden.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedInVerwandter Artikel - Python String
- Entfernen Kommas aus String in Python
- Wie man prüft, ob eine Zeichenkette auf pythonische Weise leer ist
- Konvertieren einer Zeichenkette in einen Variablennamen in Python
- Wie man Leerzeichen in einem String in Python entfernt
- Wie man in Python Zahlen aus einer Zeichenkette extrahiert
- Wie man in Python String in datetime konvertiert