Hallo,
ich würde ganz gerne eine leere Liste initialisieren in der lauter 3er Tripel sind.
Also: [ [[...],[...],[...]] , [[...],[...],[...]], .......
Wie macht man das?
Leere Liste initialisieren
-
- User
- Beiträge: 12
- Registriert: Dienstag 9. Mai 2006, 18:56
Cu Thanatos83
Rettet die Wälder, esst mehr Biber!!!
Rettet die Wälder, esst mehr Biber!!!
Code: Alles auswählen
mylist = [ [[],[],[]] for i in range(length) ]
-
- User
- Beiträge: 12
- Registriert: Dienstag 9. Mai 2006, 18:56
Naja, es sollen ja x, y und z werte drinstehen. Wenn ich die Liste nicht gleich als solches initialisiere kommt die Meldung "list index out of range".
Deswegen die Initialisierung.
Deswegen die Initialisierung.
Cu Thanatos83
Rettet die Wälder, esst mehr Biber!!!
Rettet die Wälder, esst mehr Biber!!!
Dann vermute ich, dass du es so probierst:
Das funktioniert in Python nicht.
Stattdessen wäre ein
angebrachter. Es hängt einfach eine Struktur hinten an die Liste an.
Wenn du "Lücken" in der Liste brauchst, sollten die nicht mit Leeren kordinaten gefüllt werden, sondern mit None, oder noch besser: du nutzt ein Dict, da das imho die Problematik besser abbildet.
Ausserdem könnte man sich überlegen, ob nicht die Dinge, die du in die Liste tust, durch eine Klasse dargestellt werden könnten:
dann sähe ein Einfügen so aus:
Code: Alles auswählen
lst = []
lst[0] = [[1,2,3],[4,5,6],[7,8,9]]
Stattdessen wäre ein
Code: Alles auswählen
lst = []
lst.append( [[1,2,3],[4,5,6],[7,8,9]] )
Wenn du "Lücken" in der Liste brauchst, sollten die nicht mit Leeren kordinaten gefüllt werden, sondern mit None, oder noch besser: du nutzt ein Dict, da das imho die Problematik besser abbildet.
Ausserdem könnte man sich überlegen, ob nicht die Dinge, die du in die Liste tust, durch eine Klasse dargestellt werden könnten:
Code: Alles auswählen
class Triangle
def __init__(self, a, b, c):
""" a, b, c sind koordinaten """
self.a = a
self.b = b
self.c = c
Code: Alles auswählen
lst = []
t = Triangle( (1,2,3), (4,5,6), (7,8,9) )
lst.append(t)