Hallo,
kann es sein, dass die Abspeicherung das Problem ist? Werden die Listen nicht immer so abgespeichert: [x1,y1,z1],[x2,y2,z2],usw.? Dann kann ich natürlich nicht mit matrix[2][1] ein Element finden, weil bei meinen Test immer gesgat wurde, dass er außerhalb vom Index ist.
So wäre es möglich...
[x1,y1,z1]
[x2,y2,z2]
Ist das mein Problem, dass die Daten hintereinander gespeichert werden? Kann man das umwandeln in meine gewollte Struktur, auch wenn es nicht sinnvoll ist?
detlef
Daten in Array oder Liste speichern
@01detlef: Nochmal: Der Vorschlag von Sirius3 macht das was Du willst! Glaube es einfach bis Du es selber ausprobieren kannst.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Hu? Da stecken aber einige Hämmer drin. Kommt es Dir nicht merkwürdig vor, dass Du eine Sache "machen musst", von der Du selber glaubst, dass die nicht sinnvoll ist? Genau das ist doch der Augenblick an dem man inne halten muss und noch einmal darüber nachdenken sollte, was man eigentlich erreichen will und wie es ggf. besser geht!01detlef hat geschrieben: also das die Indizes vllt nicht sinnvoll sind, glaube ich dir alles, aber ich muss das so machen, das steht fest. Es folgt im späteren Programm eine Doppelschleife, um auf die Liste/Matrix zuzugreifen.
Aber insbesondere Satz Nummer zwei zeigt im Kontext des bereits geschriebenen Ignoranz und Unwillen, sich auf Vorschläge einzulassen. Wieso zu Teufel muss man an Stelle "A" Code auf eine Art schreiben, die man an Stelle "B" braucht? Das musst Du uns noch mal erklären
Ach ja, den Hinweis zum Dateihandling hast Du auch noch nicht umgesetzt
Kurz noch der (vermutlich bereits mehrfach geäußerte) Hinweis zum Posten von Quellcode: Wir haben hier spezielle Python-Code-Tags; die sorgen für Syntax Highlighting bei bekannten Sprachen.
[ code=python ] ... [ /code ] - ohne die Leerzeichen.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Hallo,
also ich MUSS das nicht machen, aber es erspart eine Menge Arbeit, wenn ich das so mache. Dadurch kann der restliche Code unverändert benutzt werden.
Wenn das alles so passt, dann könnte ich doch zum Umwandeln der Liste in eine Matrix folgendes machen (Es geht nur ums Verständnis, nicht nach Sinn urteilend)
Ist das wenigstens richtig?
detlef
also ich MUSS das nicht machen, aber es erspart eine Menge Arbeit, wenn ich das so mache. Dadurch kann der restliche Code unverändert benutzt werden.
Code: Alles auswählen
coordinates = []
fid = open(dateiname)
for line in fid:
line=line.split()
if line and line[0].upper()=='GRID':
coordinates.append(map(float,line[2:]))
fid.close()
Code: Alles auswählen
mat=nump.array(coordinates)
detlef
@01detlef: Ja das ist richtig.
Dann stellt sich allerdings die Frage ob man die nachfolgenden Rechnungen nicht auch mit `numpy`-Mitteln anstellen kann, also Python-Schleifen und damit Lauf-Indizes vermeiden, und Operationen auf ganze Arrays anwenden. Dazu ist `numpy` schliesslich gedacht.
Dann stellt sich allerdings die Frage ob man die nachfolgenden Rechnungen nicht auch mit `numpy`-Mitteln anstellen kann, also Python-Schleifen und damit Lauf-Indizes vermeiden, und Operationen auf ganze Arrays anwenden. Dazu ist `numpy` schliesslich gedacht.