692 Stimmen

Wie kann ich eine Zeichenfolge in eine Liste von Zeichen aufteilen?

Wie kann ich eine Zeichenfolge in eine Liste von Zeichen aufteilen? str.split funktioniert nicht.

"foobar"        ['f', 'o', 'o', 'b', 'a', 'r']

16 Stimmen

In Python sind Zeichenketten bereits Arrays von Zeichen für alle Zwecke außer der Ersetzung. Sie können sie zerschneiden, Elemente per Index referenzieren oder nachschlagen, usw.

5 Stimmen

0 Stimmen

見る stackoverflow.com/questions/743806 für die Aufteilung der Zeichenkette in Wörter.

1221voto

user225312 Punkte 117771

Verwenden Sie die list Konstrukteur:

>>> list("foobar")
['f', 'o', 'o', 'b', 'a', 'r']

list erstellt eine neue Liste mit Elementen, die durch Iteration über die Eingabe erhalten wurden iterierbar . Eine Zeichenkette ist eine Iterable - die Iteration über sie ergibt bei jedem Iterationsschritt ein einzelnes Zeichen.

93voto

Senthil Kumaran Punkte 50813

Sie nehmen die Zeichenkette und übergeben sie an list()

s = "mystring"
l = list(s)
print l

85voto

Lewis James-Odwin Punkte 959

Sie können dies auch auf diese sehr einfache Weise ohne list() tun:

>>> [c for c in "foobar"]
['f', 'o', 'o', 'b', 'a', 'r']

56voto

Sid Punkte 669

Wenn Sie die Zeichenfolge zeichenweise verarbeiten möchten, haben Sie verschiedene Möglichkeiten.

uhello = u'Hello\u0020World'

Verwendung des Listenverständnisses:

print([x for x in uhello])

Ausgabe:

['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']

Karte verwenden:

print(list(map(lambda c2: c2, uhello)))

Ausgabe:

['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']

Aufruf der eingebauten Listenfunktion:

print(list(uhello))

Ausgabe:

['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']

Verwendung der for-Schleife:

for c in uhello:
    print(c)

Ausgabe:

H
e
l
l
o

W
o
r
l
d

41voto

MediumSpringGreen Punkte 436

Wenn Sie nur ein Array von Zeichen benötigen:

arr = list(str)

Wenn Sie den Text durch ein bestimmtes Trennzeichen aufteilen möchten:

# str = "temp//temps" will will be ['temp', 'temps']
arr = str.split("//")

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X