Ist es möglich, eine Zeichenfolge in Python aufzuteilen und jede abgespaltene Komponente einer Variablen zuzuweisen, die später verwendet werden soll? Ich würde gerne in der Lage sein, nach Länge zu teilen, wenn möglich, aber ich bin nicht sicher, wie es mit len () funktionieren würde.
Ich habe es versucht, aber es hat mir nicht das gebracht, was ich brauchte:
%Vor%Ergebnis: ['dies']
Ich möchte zu etwas wie folgt führen:
%Vor%Wenn Sie auf drei Zeichen gleichzeitig zugreifen möchten, müssen Sie slicing .
Sie können eine Liste der 3 Zeichen langen Teile der Zeichenfolge mit einem Listenverständnis wie folgt erhalten:
%Vor%Das wichtige Bit ist:
%Vor% range(0, len(x), step)
liefert uns die Indizes des Beginns jeder step
-Zeichenscheibe. for i in
wird über diese Indizes iterieren. x[i:i+step]
ruft das Segment von x
ab, das am Index i
beginnt und step
Zeichen lang ist.
Wenn Sie wissen, dass Sie jedes Mal genau vier Teile erhalten, können Sie Folgendes tun:
%Vor% Dies wird passieren, wenn 3 * step < len(x) <= 4 * step
.
Wenn Sie nicht genau vier Teile haben, gibt Python Ihnen ValueError
, die versuchen, diese Liste zu entpacken. Aus diesem Grund würde ich diese Technik als sehr brüchig betrachten und würde sie nicht verwenden.
Sie können das einfach tun
%Vor% Nun, wo Sie auf a
zugegriffen haben, können Sie auf x_pieces[0]
zugreifen. Für b
können Sie x_pieces[1]
und so weiter verwenden. Dies ermöglicht Ihnen viel mehr Flexibilität.
ein paar Alternativen
Normalerweise mag ich keine regulären Ausdrücke, aber um einen String zu chunken, ist es nicht zu schlecht zu benutzen:
%Vor%Und Overkill
%Vor%Sie können so etwas ausprobieren:
%Vor% unter Verwendung von itertools.islice()
:
Dies beinhaltet 'Leerzeichen' Zeichen ('').
Wenn Sie jede Nummer behalten möchten, behalten Sie sie in einer Liste:
%Vor%Dies erzeugt die exakte Ausgabe, die Sie unter der Einschränkung, dass die Zeichenfolge weniger als 27 Wörter hat, haben wollten. Sie können immer Generatoren verwenden, wenn Ihnen die Schlüssel für die Darstellung der Blöcke fehlen.
%Vor%Tags und Links python