String zerlegen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
SeB

Mittwoch 17. August 2005, 11:06

Hi,

ich habe eine String 'qwedasdafasf' und möchte den in einem Ausdruck in ein Tupel von Strings zerlegen, wobei ein Tupelitem immer 2 Buchstaben des Strings beinhalten soll -> also hier ('qw', 'ed', 'as', 'da', 'fa', 'sf').

Das würde naturlich ganz lässig mithilfe einer for und/oder while-schleife gehen, aber ich brauch das ganze als Ausdruck.

MfG SeB
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Mittwoch 17. August 2005, 11:08

Hi

Warum brauchst du das als Ausdruck?
Machs doch ganz lässig mit while/for.

Gruss
Gast

Mittwoch 17. August 2005, 11:43

Ich programmiere nicht direkt in Python sondern nur in einer Umgebung in der ich ausschliesslich Python-Ausdrücke verwenden kann; und von daher kann ich keine Schleifenkonstrukte benutzen.
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Mittwoch 17. August 2005, 11:58

ich hab mal was zusammengeschustert, aber nicht wirklich gut :)

Code: Alles auswählen

tuple([''.join(x) for x in zip(value[::2],value[1::2])])
Gruss
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Mittwoch 17. August 2005, 14:15

Wenn der String immer eine gerade Anzahl von Buchstaben hat

Code: Alles auswählen

map(lambda a,b:a+b,string[:-1],string[1:])
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Mittwoch 17. August 2005, 15:01

Code: Alles auswählen

>>> s = "qwedasdafasf"
>>> tuple(s[i:i+2] for i in range(0,len(s),2))
('qw', 'ed', 'as', 'da', 'fa', 'sf')
Antworten