Die Suche ergab 80 Treffer

von Yogi
Mittwoch 19. August 2009, 13:12
Forum: Allgemeine Fragen
Thema: Komplexeres sortieren
Antworten: 36
Zugriffe: 5242

EyDu hat geschrieben:Nein, Zahlen werden bei Vergleichen nicht in ASCII-Zeichen umgewandelt. Du bist der Fehler ^^

Code: Alles auswählen

>>> "2"<"10"
False
>>> 2<10
True
Witzig, natürlich zu Strings konvertierte Zahlen. :roll:
von Yogi
Mittwoch 19. August 2009, 09:18
Forum: Allgemeine Fragen
Thema: Komplexeres sortieren
Antworten: 36
Zugriffe: 5242

Ums nochmal zu sagen: Du benutzt andere Werte als EyDu. :shock: Aflafla :shock: Dann ist die richtige Sortierung meiner Liste nur Zufall... <schluck> Böser böser Anfängerfehler zu übersehen, dass Strings und Zahlen für die Sortierung in ihre Ascii-Darstellung umgewandelt werden... uiuiui... Ich sol...
von Yogi
Mittwoch 19. August 2009, 08:58
Forum: Allgemeine Fragen
Thema: Komplexeres sortieren
Antworten: 36
Zugriffe: 5242

Nene, ich hab nur die Listen die ich hier aufgeführt habe. Und da das Programm auch recht kurz ist, <140 Zeilen, hoffe und denke ich, dass ich auf die Schnelle so davon komme, zumindest kann ich meinen Code gut lesen. Kann aber auch sein, dass ich später noch einmal versuchen werde, das ganze python...
von Yogi
Mittwoch 19. August 2009, 00:01
Forum: Allgemeine Fragen
Thema: Komplexeres sortieren
Antworten: 36
Zugriffe: 5242

@EyDu: Also bei mir (Python 2.51) kommt bei str(2.0) < str(5.0) True Und ich halte die andere Lösung für flexibler und ...!! eleganter !! ;) Aber recht hattest du mit zip, viel besser.. ren = zip(nodeIDs, filenames, coordsX, coordsY, headlines, nodelabels, xcomments, sources) Muss man halt nur wisse...
von Yogi
Dienstag 18. August 2009, 12:38
Forum: Allgemeine Fragen
Thema: Komplexeres sortieren
Antworten: 36
Zugriffe: 5242

So ein kleiner Hinweis: >>> tuple("abcd") ('a', 'b', 'c', 'd') @EyDu: Ich weiss zwar nicht viel, aber das wusste ich! @luna: Voll verschlafen heute, von meiner Tochter geweckt :shock: So muss es jetzt lauten und es klappt. Heute abend wirds noch mal elegant gemacht ;) def sortable_tuple(i...
von Yogi
Dienstag 18. August 2009, 00:44
Forum: Allgemeine Fragen
Thema: Komplexeres sortieren
Antworten: 36
Zugriffe: 5242

Nein. Du sollest die Funktion selbst und nicht ihren Rückgabewert übergeben: ren.sort(key=sortable_tuple)) Ahhhhhh und dann noch diese kleine Änderung, weil die restlichen Sortierfelder Floats sind... def sortable_tuple(item): return tuple(item[1].lower()) Hast recht, viel schöner und sauberer. Thx...
von Yogi
Dienstag 18. August 2009, 00:39
Forum: Allgemeine Fragen
Thema: Komplexeres sortieren
Antworten: 36
Zugriffe: 5242

@Yogi: Es geht nicht um Geschwindigkeit, sondern um Wartbarkeit und Eleganz. "xrange(len(liste))" tut man einfach nicht ;), wenn man auf Listenelemente zugreifen will. Die zusätzlichen Indirektionen durch die ganzen Index-Zugriffe sorgen nur für Verwirrung. "for item in liste" o...
von Yogi
Dienstag 18. August 2009, 00:35
Forum: Allgemeine Fragen
Thema: Komplexeres sortieren
Antworten: 36
Zugriffe: 5242

@Yogi: Lies Dir doch bitte die Dokumentation zu "sorted()" oder "list.sort()" durch. Die Funktion sortiert natürlich nicht, aber das soll sie auch gar nicht ("operator.itemgetter()" sortiert auch nicht). Die "key"-Funktion wird vom Sortieralgorithmus einmal f...
von Yogi
Dienstag 18. August 2009, 00:25
Forum: Allgemeine Fragen
Thema: Komplexeres sortieren
Antworten: 36
Zugriffe: 5242

Dir ist schon klar, dass man direkt über Element iterieren kann? Immer wenn du xrange(len(nodeIDs)) einsetzt, solltest du dir Gedanken machen was du dort tust. Lösungen sind enumerate und zip. Bist du dir wirklich sicher, dass du in der zweiten Schleife das tust, was du möchtest? Wenn du ein Elemen...
von Yogi
Dienstag 18. August 2009, 00:18
Forum: Allgemeine Fragen
Thema: Komplexeres sortieren
Antworten: 36
Zugriffe: 5242

@lunar: Achsoooo. Aber ich verstehe trotzdem noch nicht genau was die Funktion macht. Ich übergebe doch diese Liste an deine Funktion: liste = [nodeIDs[x], filenames[x], coordsX[x], coordsY[x]] dann geht doch diene Funktion die angegebenen Elemente durch(1,3,2) und führt eine lower() Operation für d...
von Yogi
Montag 17. August 2009, 23:52
Forum: Allgemeine Fragen
Thema: Komplexeres sortieren
Antworten: 36
Zugriffe: 5242

Du kannst doch eine eigene Funktion schreiben: def sortable_tuple(item): return tuple(item[i].lower() for i in (0, 2, 1)) Sorry, das kapiere ich nicht und es läuft bei mir auch nicht. Gibt folgende Fehlermeldung: AttributeError: 'list' object has no attribute 'lower' Ich hab das ganze jetzt erst ei...
von Yogi
Montag 17. August 2009, 23:15
Forum: Allgemeine Fragen
Thema: Komplexeres sortieren
Antworten: 36
Zugriffe: 5242

Klapp bis jetzt super - ausser- bei der Sortierung wird ja nach Groß-und Kleinschreibung sortiert, das ist ja blöd. Kann ich denn mit itemgetter irgendwo noch ein .lower() unterbringen, oder muß ich generell alle filenames kleingeschrieben halten? :(
von Yogi
Montag 17. August 2009, 16:09
Forum: Allgemeine Fragen
Thema: Komplexeres sortieren
Antworten: 36
Zugriffe: 5242

@lunar: also nix mit itemgetter? Hmm schade, dachte das bisschen sortieren wäre ein Klacks ud ich wäre fertig mit meinem Konverter, aber so isses halt. Werde mich dann mal in namedtuples einarbeiten... Danke schon mal, kann sein, dass ich mich nochmal melde ;) Edit: Nochmal davon gekommen wie's auss...
von Yogi
Montag 17. August 2009, 14:51
Forum: Allgemeine Fragen
Thema: Komplexeres sortieren
Antworten: 36
Zugriffe: 5242

@Yogi: collections.namedtuple() Erster Treffer bei Google nach Eingabe von "namedtuple". :) mag ja alles sein, klingt trotzdem nicht nach einer Grundrezeptur. Aber durchlesen werde ich es mir natürlich trotzdem. Aber gibt es denn keine Standard-Lösung, die ich einfach nur übersehen habe? ...
von Yogi
Montag 17. August 2009, 14:36
Forum: Allgemeine Fragen
Thema: Komplexeres sortieren
Antworten: 36
Zugriffe: 5242

Bei zusammenhängenden Daten, die nach einem festgelegten Muster sortiert werden sollen, würde ich ein "namedtuple" erstellen, von dieser Klasse ableiten, und dort die ganzen Vergleichsoperatoren entsprechend überladen. Dann kann man auf eine Liste dieser Typen einfach ".sort()" ...
von Yogi
Montag 17. August 2009, 13:49
Forum: Allgemeine Fragen
Thema: Komplexeres sortieren
Antworten: 36
Zugriffe: 5242

@Blackjack: Gesagt getan. Die Variablenstruktur ist noch offen. Ich musste erst einmal die xml so parsen, dass ich aus der Datei die für mich relevanten Teile extrahieren konnte. Also alles offen. Ich habe es mal nach folgendem Schema versucht: liste [['nodeID','Dateiname',x,y]] # die restlichen Wer...
von Yogi
Montag 17. August 2009, 00:12
Forum: Allgemeine Fragen
Thema: Komplexeres sortieren
Antworten: 36
Zugriffe: 5242

Komplexeres sortieren

Hi, ich komme da gerade nicht weiter und bräuchte einen kleinen Push in die richtige Richtung. Ich habe da folgende Listen: nodeIDs, filenames, headlines, coordinates[coord{'x' : x, 'y' : y}], nodelabels, sources, comments nodeIDs beinhaltet Strings von n0 bis n... filenames können je nach nodeID-Zu...
von Yogi
Sonntag 15. März 2009, 11:10
Forum: Allgemeine Fragen
Thema: Daten zwischen zwei Applikationen austauschen
Antworten: 14
Zugriffe: 1952

in der Kürze liegt die Würze ;) Danke!
von Yogi
Sonntag 15. März 2009, 10:20
Forum: Allgemeine Fragen
Thema: Daten zwischen zwei Applikationen austauschen
Antworten: 14
Zugriffe: 1952

Das mit dem Server wusste ich nicht, aber dafür frage ich ja auch hier :) Ich muss ja hier auch mit den kürzesten Kurzinfos auskommen...
von Yogi
Sonntag 15. März 2009, 10:03
Forum: Allgemeine Fragen
Thema: Daten zwischen zwei Applikationen austauschen
Antworten: 14
Zugriffe: 1952

weil ich dann auch noch einen ressourcenfressenden lokalen server einrichten muss?