Seite 1 von 1

Listen / Tupel - Aufzählung

Verfasst: Dienstag 7. Dezember 2010, 17:54
von CodeMaster
Hallo!

Ich stehe wieder vor einen Problem:

Ich bekomm es nicht hin Listen Objekte in einen String umzuwandeln, also die einzelnen Namen der Liste ind einem String aufzählen zu lassen.

Mein Code sieht wie folgt aus:

Code: Alles auswählen

def Aufzaehlen(Liste):
    String = "Elemente: "
    for i in range(len(Liste)):
        if i != len(Liste):
            String += Liste[i],", "
        else:
            String += Liste[i]
    print String

Test1 = raw_input("1 ")
Test2 = raw_input("2 ")
Test3 = raw_input("3 ")
Liste = []
Liste.append(Test1)
Liste.append(Test2)
Liste.append(Test3)

Aufzaehlen(Liste)
wie man sieht, ist dieser code nur für einen test ausgelegt
aber dabei erscheint dieser Fehler:

Code: Alles auswählen

Traceback (most recent call last):
  File "D:/Python/Aufzählen", line 18, in <module>
    Aufzaehlen(Liste)
  File "D:/Python/Aufzählen", line 5, in Aufzaehlen
    String += Liste[i],", "
TypeError: cannot concatenate 'str' and 'tuple' objects
Also er sagt mir das ich Listen/Tuples nicht mit String vereinen kann. Aber ich kann doch "print Liste" machen und das geht, also wandelt er die Liste ja doch irgendwie in einen String oder?

Ich hoffe ihr könnt mir helfen =)

MfG CodeMaster

Re: Listen / Tupel - Aufzählung

Verfasst: Dienstag 7. Dezember 2010, 17:58
von Xynon1
Hier für gibt es die String Methode ".join(...)".

Beispiel:

Code: Alles auswählen

list_ = ["1","2","3","4","5"]
print("-".join(list_))

Re: Listen / Tupel - Aufzählung

Verfasst: Dienstag 7. Dezember 2010, 18:03
von BlackJack
@CodeMaster: Du versuchst da an eine Zeichekette ein Tupel anzuhängen. Ich mache mal die Klammer, vielleicht wird es Dir dann klarer:

Code: Alles auswählen

String += (Liste[i], ", ")
Oder als Minimalbeispiel:

Code: Alles auswählen

In [65]: a = 'a'

In [66]: a += ('b', 'c')
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)

/home/bj/<ipython console> in <module>()

TypeError: cannot concatenate 'str' and 'tuple' objects

Re: Listen / Tupel - Aufzählung

Verfasst: Dienstag 7. Dezember 2010, 18:50
von CodeMaster
BlackJack hat geschrieben:@CodeMaster: Du versuchst da an eine Zeichekette ein Tupel anzuhängen. Ich mache mal die Klammer, vielleicht wird es Dir dann klarer:

Code: Alles auswählen

String += (Liste[i], ", ")
Oder als Minimalbeispiel:

Code: Alles auswählen

In [65]: a = 'a'

In [66]: a += ('b', 'c')
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)

/home/bj/<ipython console> in <module>()

TypeError: cannot concatenate 'str' and 'tuple' objects


Ahhhh okey mein fehler, jetzt versteh ich es danke