[Python-de] Mehrdimensionale Listen

Achim Domma (ProCoders) domma at procoders.net
Wed May 7 15:54:56 EDT 2003


> Das steuerkennzeichen soll zB "M16" sein. Ich bekomme aber die
> Fehlermeldung TypeError: sequence index must be integer
> Wie kann ich das anstellen, dass ich mit "M16" arbeiten kann. Denn dieser
> Wert ist vorgegeben, und darum dreht sich alles.

Du mußt zwischen eine Liste und einem Dictionary unterscheiden. In PHP ist
das gemischt, also so 'ne Art Zwitter. Dein Beispiel müßte in etwa so
(ungetestet aus dem Kopf) aussehen:

steuer = {}
steuer['M16'] = {}
steuer['M16']['nr'] = nummer
steuer['M16']['konto'] = konto

Das Beispiel schreit aber meine Meinung nach nach OO Programmierung. Der
oberer Dictionaire ist vieleicht ok, aber die enthaltenen Element würde ich
in jedem Fall als Klass implementieren. Also sowas wie:

class Kennzeichen(object):
    def __init__(self,nr,konto,betrag):
        self.nr = nr
        self.konto = konto
        self.betrag = betrag

und dann:
steuer = {}
steuer['M16'] = Kennzeichen('nr','konto','betrag)

und später z.B.

print steuer['M16'].betrag

Gruß,
Achim





More information about the Python-de mailing list