Ein String wird wie ein Feld von Werten gehandelt

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
Brando
User
Beiträge: 171
Registriert: Donnerstag 28. Januar 2016, 15:36

Ich habe einen String gebildet aus einer Liste mittels:

expand_string=''.join(map(str,x)), wobei x eine Liste ist. Wenn ich jetzt expand_string an eine Methode übergebe, die einen Parameter erwartet erhalte ich die Fehlermeldung:
methode() takes 1 positional argument but 12 were given; dabei hat expand_string genau 12 Zeichen. Was mache ich falsch?
Sirius3
User
Beiträge: 17749
Registriert: Sonntag 21. Oktober 2012, 17:20

@Brando: Du solltest aufhören, irgendwo * hinzuschreiben, ohne zu wissen, was dabei passiert.
Brando
User
Beiträge: 171
Registriert: Donnerstag 28. Januar 2016, 15:36

Aber ich hab doch gar nicht * geschrieben?!
Sirius3
User
Beiträge: 17749
Registriert: Sonntag 21. Oktober 2012, 17:20

@Brando: was hast Du dann geschrieben? Eine Fehlerbeschreibung beinhaltet immer den Code, der ausführbar ist und das beobachtete Verhalten zeigt, den vollständigen Traceback und das erwartete Verhalten. Sonst können wir hier nur raten.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

also bei mir funktioniert das (Python 3.5):

Code: Alles auswählen

>>> x = [1 , 2, 3]
>>> exp = ''.join(map(str, x))
>>> exp
'123'
>>> def foo(my_string):
...     print(my_string)
... 
>>> foo(exp)
123
>>>
Ergo tust du wohl nicht das, was du vorgibst zu tun.

Gruß, noisefloor
Antworten