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

von eine Liste zum string

Beitragvon alpin » Donnerstag 15. September 2005, 15:28

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:

Beitragvon CM » Donnerstag 15. September 2005, 15:35

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])

Beitragvon mawe » Donnerstag 15. September 2005, 15:36

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:

Beitragvon CM » Donnerstag 15. September 2005, 15:37

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])

Beitragvon mawe » Donnerstag 15. September 2005, 15:43

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

Beitragvon alpin » Donnerstag 15. September 2005, 15:54

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

Beitragvon CM » Donnerstag 15. September 2005, 16:17

@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

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]