Seite 1 von 1

von eine Liste zum string

Verfasst: Donnerstag 15. September 2005, 15:28
von alpin
Hi,

Ich fange gerade an ein wenig python zu lernen jetzt steh ich aber vor ein problem ich hab eine liste x = ['foo', 'bar', 'bla']
und daraus wollte ich jetzt ein string haben in der form y = "foo bar bla"
also eigentlich alles hintereinander mit ein Leerzeichen dazwischen in einen String.
Mein Versuch war jetzt folgendes:

Code: Alles auswählen

 x = ['foo', 'bar', 'bla']
y = ""
for i in x
     y = y + i

print y
nur funktioniert das nicht und sonne einfaches Problem ist irgendwie schwer zu finden im Internet :roll:

MfG
alpin

Edit (Leonidas): Code in Python-Tags gesetzt.

Verfasst: Donnerstag 15. September 2005, 15:35
von CM
Hoi alpin,

doch, das findet man im Netz. Z. B. im Python-Tutorial und diversen anderen Anleitungen. Schau mal, ob im Unter-Forum "Links und Tutorials" etwas für Dich dabei ist ...

Aber zu Deinem Problem:

Code: Alles auswählen

l = ['foo','bar','bla']
s = ' '.join(l)
print s
join fügt die Elemente Deiner Liste zusammen und das Zeichen zwischen den Anführungsstrichen gibt an, was dazwischen sein soll. Also z. B. gar nichts oder, wie in Deinem Fall, ein Leerzeichen.

Gruß,
Christian

Verfasst: Donnerstag 15. September 2005, 15:36
von mawe
Hi!

Ganz einfach: Du willst die Elemente der Liste zu einem String zusammenfügen. Das englische Wort für zusammenfügen ist join :)

Code: Alles auswählen

x = ['foo', 'bar', 'bla']
print ' '.join(x)
Gruß, mawe

Verfasst: Donnerstag 15. September 2005, 15:37
von CM
Nachtrag:

Das hier funktioniert natürlich auch:

Code: Alles auswählen

y = ''
for x in l:
    y = y + x + ' '
print y

Verfasst: Donnerstag 15. September 2005, 15:43
von mawe
Noch ein Nachtrag, weil darüber schon oft diskutiert wurde:
Man hat eine Liste, will die Elemente zusammenfügen und weiss nicht wie. Na gut, man schaut in die Doku, was haben denn Listen so für Methoden? Vielleicht ist ja was brauchbares dabei. Findet man join? Nein!
Schon alleine deswegen find ich dass die Implementierung von join ein Designfehler ist :?

Gruß, mawe

Verfasst: Donnerstag 15. September 2005, 15:54
von alpin
thx das ging aber schnell und dann noch vier antworten :D

Verfasst: Donnerstag 15. September 2005, 16:17
von CM
@alpin: Ja, ja, so geht es hier zu. Und jetzt sogar noch mehr Beiträge :shock:
@mawe: Das liegt daran, daß join, keine "Listenmethode", sondern eine "Stringmethode" ist. Aber Du hast recht: Besonders intuitiv zugänglich ist das nicht.

Gruß,
Christian