Re: [Python-de] Probleme mit listen

(ich ageb die Antwort áuf die Mail direkt an mich mal an die Liste) On 25.10.2013 14:57, Goce F. wrote:
Am 25.10.2013 13:42, schrieb Christopher Arndt:
kurze Antwort: vielleicht meintest du einfach:
liste[0].append(...)
genau das meine ich aber ich bekomme nur ne Fehlermeldung.
AttributeError: 'int' object has no attribute 'append'
Die Fehlermeldung sagt doch schon, was los ist. Du versuchst an ein int-Objekt mit .append() etwas anzuhängen. Das geht nicht. liste[0] enthält also offensichtlich ein int-Objekt. Wenn du eine mehrdimensionale (also eine verschachtelte) Liste haben willst, müsste dort eine innere Liste sein. Dann könntest du an diese auch was anhängen.
l = []
for i in range(3): l.append([]) for j in range(3): l[i].append(j)
Erzeugst Du mit dem Code eine 3x3 oder 4x3 Matrix.
Ich erzeuge eine Liste, die drei Listen enthält, von denen wiederrum jede drei (int) Elemente enthält.
Zählt die Listendef. l = [] schon als eine Dimension, oder erst wenn Sie mit Werten gefüllt wird.
l = [] ist eine *leere* Liste, d.h. sie bekommt erst dann eine Dimension, wenn man anfängt, sie mit Elementen zu füllen. Noch einmal: Listen sind keine Arrays. Verabschiede dich von dieser Assoziation.
Mein Code ist folgender:
for x in range(0,x): zelle.append(x) for y in range(0,y): zelle[x].append(y)
Da fehlt erst mal die Initianmlisierung von 'zelle'. Damit du die append()-Methode von 'zelle' benutzen kannst, muss 'zelle' erstmal als Liste vorhanden sein. 'zelle' entspricht in meinem Beispiel die leere Liste in 'l.append([])'. Außerdem verwendest du range() nicht richtig. Lies dir mal die Dokumentation dazu mal durch, um herauszufinden, wie die Aufrufform mit zwei Argumenten funktioniert (Für dein Beispiel brauchst du nur die Form mit einem Argument, wie in meinem Beispiel). Chris
participants (1)
-
Christopher Arndt