Seite 1 von 1

Listen an *args übergeben

Verfasst: Samstag 11. Juni 2011, 11:26
von dimflmoser
Nochmal hallo zusammen,

ich hab' da direkt noch eine Frage - vermutlich mache ich nur einen Denkfehler. Eine Methode einer Klasse hat die folgende Signatur:

Code: Alles auswählen

def record(self, *recordList, **recordDict):
Der Aufruf sollte eigentlich wie folgt aussehen:

Code: Alles auswählen

Klasse.record('first', 'second', 'third')
Da ich aber die Daten zuvor aus einer Datenbank abfrage, habe ich folgendes versucht:

Code: Alles auswählen

rec = []
rec.append('first')
rec.append('second')
rec.append('third')
# ... Natürlich in einer Schleife
Klasse.record(rec)
In der aufgerufenen Methode kommt allerdings keine Liste mit drei, sondern eine Liste mit nur einem Element (das aus den drei übergebenen zusammengesetzt ist) an.

Kann mir jemand zeigen wie es richtig geht?

Danke Helmut

Re: Listen an *args übergeben

Verfasst: Samstag 11. Juni 2011, 11:35
von cofi
Mit der gleichen Syntax:

Code: Alles auswählen

Klasse.record(*rec)
http://docs.python.org/tutorial/control ... ment-lists

Re: Listen an *args übergeben

Verfasst: Samstag 11. Juni 2011, 12:43
von dimflmoser
Hallo cofi,

prima - vielen Dank!

Helmut