von eine Liste zum string

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
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.
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

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
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

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
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Nachtrag:

Das hier funktioniert natürlich auch:

Code: Alles auswählen

y = ''
for x in l:
    y = y + x + ' '
print y
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

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
alpin

thx das ging aber schnell und dann noch vier antworten :D
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

@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
Antworten