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.
SeB

String zerlegen

Beitragvon 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:

Beitragvon rayo » Mittwoch 17. August 2005, 11:08

Hi

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

Gruss
Gast

Beitragvon 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:

Beitragvon rayo » 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
Benutzeravatar
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Beitragvon Joghurt » 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])

Beitragvon mawe » 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')

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder