Die Suche ergab 1165 Treffer

von pillmuncher
Donnerstag 12. November 2009, 13:54
Forum: Allgemeine Fragen
Thema: mehrere Listen durchlaufen
Antworten: 23
Zugriffe: 2331

Ich würde es so machen: def group(ns, ts, vs): return dict((n,(n,t,v)) for n,t,v in zip(ns,ts,vs)) def ungroup(d, ns): return zip(*(d[n] for n in ns)) Und wenn die Reihenfolge keine Rolle spielt, geht auch das: def ungroup(d): return zip(*d.values()) Gruß, Mick. *edit* group geht auch kürzer: def gr...
von pillmuncher
Mittwoch 11. November 2009, 20:05
Forum: Codesnippets
Thema: Mississippi
Antworten: 26
Zugriffe: 5537

gerold hat geschrieben:Das was du da mit Python anstellst, ist irgendwie die falsche Richtung.
Stimmt. Deswegen würde ich so etwas niemals im Ernst programmieren.

Gruß,
Mick.
von pillmuncher
Mittwoch 11. November 2009, 16:41
Forum: Allgemeine Fragen
Thema: Objekte dynamisch erstellen
Antworten: 22
Zugriffe: 2060

Re: Objekte dynamisch erstellen

Meinst du vielleicht sowas? class MyObject(object): def __init__(self, name): self.name = name def test(self): return self.name def main(): objects = [MyObject("Objekt 1"), MyObject("Objekt 2")] for obj in objects: print obj.test() o1, o2 = objects print o1.test() print o2.test() if __name__ == "__m...
von pillmuncher
Mittwoch 11. November 2009, 16:27
Forum: Allgemeine Fragen
Thema: Objekte dynamisch erstellen
Antworten: 22
Zugriffe: 2060

das Problem ist ich habe einen Haufen Objekte - die erben alle von einer Klasse. Um deine Verwirrung aufzulösen: Objekte erben nicht von Klassen, sondern Klassen erben von Klassen. Klassen definieren die Eigenschaften von Objekten. Man sagt dann, ein Objekt ist eine Instanz / ein Exemplar einer Kla...
von pillmuncher
Mittwoch 11. November 2009, 02:03
Forum: Codesnippets
Thema: Mississippi
Antworten: 26
Zugriffe: 5537

Oder doch nicht... Hier noch zwei Versionen mit anonymer rekursiver Funktion: def Y(r): return (lambda f: f(f))(lambda f: r(lambda *xs, **ys: f(f)(*xs, **ys))) group1 = Y( lambda g: lambda cs, i=0, j=1: ([cs[i:j]] if cs else []) if j >= len(cs) else (g(cs, i, j+1) if cs[i] == cs[j] else [cs[i:j]] + ...
von pillmuncher
Dienstag 10. November 2009, 13:44
Forum: Datenbankprogrammierung mit Python
Thema: Liste in ein einzelnes DB-Feld?
Antworten: 11
Zugriffe: 2535

Re: Liste in ein einzelnes DB-Feld?

Achimt hat geschrieben:Gibt es da eine elegantere / einfachere Lösung?
Ja, normalisiere deine Daten und vermeide es, mehrere Informationen in ein einzelnes Feld zu packen. Hier wirst du geholfen (besonders interessiert dich 1NF).

Gruß,
Mick.
von pillmuncher
Dienstag 10. November 2009, 13:10
Forum: Codesnippets
Thema: Generieren aller Sublisten der Länge N einer Liste
Antworten: 2
Zugriffe: 2039

Warum erinnert mich das Ganze denn schon wieder an Prolog :P Weil man all-solutions-Prädikate für die in Prolog allgegenwärtigen generate-and-test Algorithmen braucht? >>> for i in xrange(len("hello")): ... for each in filter(lambda x:x.startswith('h'), subseqs("hello", i + 1)): ... print each ... ...
von pillmuncher
Dienstag 10. November 2009, 01:20
Forum: Codesnippets
Thema: Generieren aller Sublisten der Länge N einer Liste
Antworten: 2
Zugriffe: 2039

Generieren aller Sublisten der Länge N einer Liste

Ich hab's subseqs genannt, weil mir der Name besser gefällt als sublists . def subseqs(seq, length): for i in xrange(len(seq) - length + 1): yield seq[i:i+length] So kann man's verwenden: >>> for each in subseqs("hello", 3): ... print each ... hel ell llo >>> for i in xrange(len("hello")): ... for e...
von pillmuncher
Dienstag 10. November 2009, 00:27
Forum: Codesnippets
Thema: Mississippi
Antworten: 26
Zugriffe: 5537

Vielleicht so? Also ohne Akkumulator? def group(cs, i=0, j=1): if j >= len(cs): return [cs[i:j]] if cs else [] elif cs[i] == cs[j]: return group(cs, i, j+1) else: return [cs[i:j]] + group(cs, j, j+1) Ich habe auch versucht das lazy zu machen, aber das Ergebnis ist zu schrecklich um es zu zeigen. Dan...
von pillmuncher
Montag 9. November 2009, 16:14
Forum: Codesnippets
Thema: Mississippi
Antworten: 26
Zugriffe: 5537

a, b = tee(s) output = list() output.append(b.next()) Das b.next() ist eine gute Idee: def group(cs): cs = iter(cs) s = cs.next() for c in cs: if c in s: s += c else: yield s s = c yield s Prolog weckt düstere Erinnerungen... Konnte das noch nie leiden ;) Juhuu! Ein Sprachenkrieg ;) Ich mochte Prol...
von pillmuncher
Sonntag 8. November 2009, 11:36
Forum: Allgemeine Fragen
Thema: Problem mit der ausgabe eines gespeicherten wertes
Antworten: 7
Zugriffe: 1191

@Fantacoca: "with" funktioniert auch in 2.6.
von pillmuncher
Sonntag 8. November 2009, 00:44
Forum: Tkinter
Thema: array inhalt bearbeitung
Antworten: 26
Zugriffe: 2851

Infrared hat geschrieben:Ja genauso mein ich das, pillmuncher.
Ich hab dir eine "entweder-oder"-Frage gestellt und du antwortest mit "Ja"?

Aha.
von pillmuncher
Samstag 7. November 2009, 20:28
Forum: Offtopic
Thema: PEP3003: Lasst uns den Fortschritt 2 Jahre aufhalten
Antworten: 26
Zugriffe: 3430

Fortschritt ist doch nie schlecht, oder? "Der Fortschritt ist halt wie ein neuentdecktes Land; ein blühendes Kolonialsystem an der Küste, das Innere noch Wildnis, Steppe, Prärie. Überhaupt hat der Fortschritt das an sich, daß er viel größer ausschaut, als er wirklich ist." - Johann Nepomuk Nestroy,...
von pillmuncher
Samstag 7. November 2009, 17:38
Forum: Allgemeine Fragen
Thema: Python Versionen
Antworten: 4
Zugriffe: 343

von pillmuncher
Samstag 7. November 2009, 17:20
Forum: Tkinter
Thema: array inhalt bearbeitung
Antworten: 26
Zugriffe: 2851

Re: array inhalt bearbeitung

HWK: Danke für deine Mühe, hat mir ein Stück weit weiter geholfen, aber ich komm damit nicht ganz klar. ... Dann stell ich meine Frage mal neu: In einzelnen Buttons wird der Inhalt von "feld=[..]" angezeigt. Also z.B text=feld[1] Ich möchte jetzt eine definition erstellen, dass wenn ich auf den But...