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.

6voto

susheelbhargavk Punkte 79

Sie können verwenden extend Methode auch bei Listenoperationen.

>>> list1 = []
>>> list1.extend('somestring')
>>> list1
['s', 'o', 'm', 'e', 's', 't', 'r', 'i', 'n', 'g']

4voto

Sylvain Punkte 199

Wenn Sie nur lesend auf die Zeichenkette zugreifen möchten, können Sie direkt die Array-Notation verwenden.

Python 2.7.6 (default, Mar 22 2014, 22:59:38) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> t = 'my string'
>>> t[1]
'y'

Könnte für Tests ohne Regexp nützlich sein. Enthält die Zeichenfolge einen abschließenden Zeilenumbruch?

>>> t[-1] == '\n'
False
>>> t = 'my string\n'
>>> t[-1] == '\n'
True

3voto

John Lockwood Punkte 3655

Nun, so sehr ich die Version mit den Listen auch mag, hier ist eine andere, ausführlichere Methode, die ich gefunden habe (aber sie ist cool, also dachte ich, ich füge sie hinzu):

>>> text = "My hovercraft is full of eels"
>>> [text[i] for i in range(len(text))]
['M', 'y', ' ', 'h', 'o', 'v', 'e', 'r', 'c', 'r', 'a', 'f', 't', ' ', 'i', 's', ' ', 'f', 'u', 'l', 'l', ' ', 'o', 'f', ' ', 'e', 'e', 'l', 's']

3voto

minggli Punkte 99
from itertools import chain

string = 'your string'
chain(string)

ähnlich wie list(string) zurück, sondern gibt einen Generator zurück, der zum Zeitpunkt der Verwendung nur langsam ausgewertet wird und daher speichereffizient ist.

2voto

string="footbar"
print([*string])

Es ist eine einfache Möglichkeit, eine Zeichenkette wortweise zu trennen.

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