Ich hab ein kleines Problem, das ich leider nach längerem googlen und Bücher wälzen nicht lösen kann.
Ich habe eine kleien Funktion, die Werte berechnet, und diese dann in einer Liste ablegt.
Nun möchte ich das ganze in eine Schleife packen, und bei jedem Schleifendurchlauf eine neue Liste erstellen. Jede Liste soll dann einen eigenen Namen erhalten.
Ist so etwas in Python möglich?
danke!
Listen per Schleife erstellen
Dann willst du sicherlich eine Liste in einer Liste. Automatisch Variablen zu erzeugen ist in den meisten Fällen wenig sinnvoll.
Beachten musst du nichts, du kannst Listen behandeln wie jedes andere Objekt auch. Hier mal ein ganz einfaches Beispiel:
Zugriff erhälst du dann mit "list1[2][3]".
Beachten musst du nichts, du kannst Listen behandeln wie jedes andere Objekt auch. Hier mal ein ganz einfaches Beispiel:
Code: Alles auswählen
list1 = []
for i in range(10):
temp = []
for j in range(5)
temp.append(j)
list1.append(temp)
Das Leben ist wie ein Tennisball.
Speichere die erstellten Listen in einem Dictionary mit den Namen als Keys.NedNederlander hat geschrieben:Ich habe eine kleien Funktion, die Werte berechnet, und diese dann in einer Liste ablegt.
Nun möchte ich das ganze in eine Schleife packen, und bei jedem Schleifendurchlauf eine neue Liste erstellen. Jede Liste soll dann einen eigenen Namen erhalten.
Ist so etwas in Python möglich?
danke!
-
- User
- Beiträge: 10
- Registriert: Mittwoch 4. März 2009, 13:25
danke erstmal für die vorschläge.
also am liebsten wärs mir, wenn ich einfach einzelne listen hätte.
mein programm besteht aus einzelnen modulen, und für die weiterverarbeitung der listen wärs viel komfortabler, wenn es wirklich einzelne listen sind.
mein problem ist eben die benennung der listen, da ja jede liste automatisch bei einem schleifendurchlauf einen namen bekommen muss.
also am liebsten wärs mir, wenn ich einfach einzelne listen hätte.
mein programm besteht aus einzelnen modulen, und für die weiterverarbeitung der listen wärs viel komfortabler, wenn es wirklich einzelne listen sind.
mein problem ist eben die benennung der listen, da ja jede liste automatisch bei einem schleifendurchlauf einen namen bekommen muss.
-
- User
- Beiträge: 10
- Registriert: Mittwoch 4. März 2009, 13:25
was meinst du mit "an Namen binden"?EyDu hat geschrieben:Dann binde die Listen doch an Namen, wenn du sie brauchst.
das problem ist dass es mehrere tausend listen werden, das sollte alles automatisch ablaufen.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Einfach das hierNedNederlander hat geschrieben:was meinst du mit "an Namen binden"?EyDu hat geschrieben:Dann binde die Listen doch an Namen, wenn du sie brauchst.
Code: Alles auswählen
tmp = []
Und Du kannst Dir einfache Namen bei 1000 (!) Listen wirklich merken, um darauf gezielt zuzugreifen?das problem ist dass es mehrere tausend listen werden, das sollte alles automatisch ablaufen.
Ich werde das Gefühl nicht los, dass Du da etwas mit einem falschen Ansatz lösen willst.
Was spricht denn gegen Listen in Listen oder ein Dict mit Listen?
-
- User
- Beiträge: 10
- Registriert: Mittwoch 4. März 2009, 13:25
wie die listen heißen ist mir relativ wurst. kann gut sein dass mein ansatz der falsche ist, aber so stell ichs mir am einfachsten vor.
ich denke das mit dem dictonary würde gehen. da hab ich ein wenig rumprobiert, aber ich hab noch keine möglichkeit gefunden, wie ich da mittels einer schleife neue elemente zum dictonary hinzufüge.
ich denke das mit dem dictonary würde gehen. da hab ich ein wenig rumprobiert, aber ich hab noch keine möglichkeit gefunden, wie ich da mittels einer schleife neue elemente zum dictonary hinzufüge.
Hab mal schnell was mit einem Dictionary gebastelt. Sollte sich eigentlich selbst erklären.
Code: Alles auswählen
>>> d = {}
>>> for i in range(5):
... temp = []
... for j in range(i):
... temp.append(j)
... d['liste'+str(i)] = temp
...
>>> d
{'liste1': [0], 'liste0': [], 'liste3': [0, 1, 2], 'liste2': [0, 1], 'liste4': [0, 1, 2, 3]}
>>> d['liste1'].append(9)
>>> d
{'liste1': [0, 9], 'liste0': [], 'liste3': [0, 1, 2], 'liste2': [0, 1], 'liste4': [0, 1, 2, 3]}
@DasIch: Du hast recht. Ich wollte nur zeigen, dass es mit einem dict geht. Der Sinn erschließt sich mir allerdings in diesem Fall selbst nicht. Ein Fall für ein dict wäre für mich z.B., wenn der Key eine Vokabel ist und in der zugehörigen Liste dann verschiedene Übersetzungen stehen.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Das Problem ist doch, dass der OP uns nicht verrät, wie es zu den 1000enden Listen kommt und mit welchem Bezug er diese später wieder benötigt! Solange kann man außer generellen Wegen nichts genaues dazu sagen.