mehrere Listen durchlaufen

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.
Twilo
User
Beiträge: 109
Registriert: Mittwoch 10. Januar 2007, 19:17
Wohnort: Berlin
Kontaktdaten:

Hallo,
pillmuncher hat geschrieben:

Code: Alles auswählen

def ungroup(d): 
    return zip(*d.values())
wo kann ich mehr über das Sternchen erfahren?

Die ungroup Methode müßte nur noch statt 3 Tuples 3 Listen zurückgeben.

Kann man irgendwie die zip-Funktion dazu bewegen, dass sie listen statt tuples zurückgibt?
Ansonsten könnte ich auch folgendes verwenden:

Code: Alles auswählen

def ungroup(d):
    return [list(e) for e in zip(*d.values())]
mfg
Twilo
[url=http://www.farb-tabelle.de/][b]Farbtabelle[/b][/url]
Benutzeravatar
pillmuncher
User
Beiträge: 1530
Registriert: Samstag 21. März 2009, 22:59
Wohnort: Pfaffenwinkel

Twilo hat geschrieben:
pillmuncher hat geschrieben:

Code: Alles auswählen

def ungroup(d):
    return zip(*d.values())
wo kann ich mehr über das Sternchen erfahren?
Im Python Tutorial, Punkt 4.7.4. Der Punkt 4.7.3 darüber könnte zum Verständnis wichtig sein.

Es wäre übrigens besser gewesen, wenn ich gleich itertools.izip verwendet hätte:

Code: Alles auswählen

from itertools import izip

def group(ns, ts, vs):
    return dict(izip(ns,izip(ns,ts,vs)))

def ungroup(d):
    for e in izip(*d.values()):
        yield list(e)
ungroup ist so schöner, finde ich.

Gruß,
Mick.
In specifications, Murphy's Law supersedes Ohm's.
Zap
User
Beiträge: 533
Registriert: Freitag 13. Oktober 2006, 10:56

Nice ;) Und schon wurde wieder ein Problem aufs nötigste eingedampft *g
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Dann kannst du auch gleich imap verwenden:

Code: Alles auswählen

def ungroup(d):
    return imap(list, izip(*d.values()))
Das Leben ist wie ein Tennisball.
Antworten