Heim > Artikel > Backend-Entwicklung > Wie analysiert man durch Leerzeichen getrennte numerische Zeichenfolgen in Ganzzahllisten?
So analysieren Sie durch Leerzeichen getrennte numerische Zeichenfolgen effektiv in Ganzzahllisten.
Die Aufgabe, Ganzzahlen aus einer Zeichenfolge durch Leerzeichen getrennter Zahlen zu extrahieren, kann scheinen zunächst einfach zu sein. Um jedoch eine robuste Implementierung zu erreichen, sind mehrere Überlegungen erforderlich.
Aufteilen nach Leerzeichen
Ein praktikabler Ansatz ist die Verwendung der in Python integrierten Funktion split(). Indem wir die Zeichenfolge in Leerzeichen aufteilen, können wir eine Liste von Teilzeichenfolgen erhalten, die jede einzelne Zahl darstellen:
"42 0".split() # ['42', '0']
Dieser Ansatz ist einfach und effektiv, wenn es um Zeichenfolgen geht, die nur einzelne Leerzeichen zwischen Zahlen enthalten.
Umwandeln in ganze Zahlen
Um die Teilzeichenfolgen in ganze Zahlen umzuwandeln, können wir die Funktion „map()“ verwenden:
map(int, ["42", "0"]) # [42, 0]
Die Funktion „map()“ übernimmt eine Funktion und und iterierbar als Argumente. In diesem Fall ist die Funktion int, die jedes Element in der Iterable in eine Ganzzahl umwandelt. In Python 2 gibt map() einen Iterable zurück, während es in Python 3 einen Lazy-Iterator zurückgibt. Um eine Liste von Ganzzahlen zu erhalten, können wir das Ergebnis mit list() in eine Liste umwandeln:
list(map(int, ["42", "0"])) # [42, 0]
Alternativ:
Die Aufteilung der Zeichenfolge allein auf Leerzeichen kann möglich sein nicht in allen Fällen aus, insbesondere wenn es sich um mehrere aufeinanderfolgende Leerzeichen handelt. Alternativ könnte man reguläre Ausdrücke verwenden, die alle Ziffernfolgen abgleichen, und diese Übereinstimmungen dann mithilfe des oben beschriebenen Codeausschnitts in ganze Zahlen umwandeln.
Das obige ist der detaillierte Inhalt vonWie analysiert man durch Leerzeichen getrennte numerische Zeichenfolgen in Ganzzahllisten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!