Path: csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Hermann Riemann Newsgroups: de.comp.lang.python Subject: Re: Mehrdimensionale Arrays in Python.. Wie ? Date: Wed, 22 Dec 2021 17:29:15 +0100 Lines: 70 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: individual.net pa5mia8KrEBCWvcB5fNYoAUL3Orf3TXRWugzeJATFeWcfSjzsc Cancel-Lock: sha1:YmVRsgMoVmf6uGBxfJhv9bBr9qI= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 In-Reply-To: Content-Language: de-DE Xref: csiph.com de.comp.lang.python:5784 Am 21.12.21 um 19:39 schrieb wolfgang bauer (D): > > Hallo > > Irgendwie stehe ich auf Kriegsfuß mit dem Array-Konzept Pythons. > > Ich möchte so etwas wie Array-Zeilen haben, wie z.B.: ["erster Eintrag","zweiter Eintrag","dritter Eintrag"] > > Dann möchte ich daran eine nächste Arrayzeile anhängen können usw. Diese weiteren Zeilen hole ich mir z.B. mit einer Funktion in einer > Schleife. Das heißt, das Array wächst zur Laufzeit und wird also nicht im Vornherein fest angelegt. > > Der Zugriff sollte mittels zweier Indexe erfolgen: Der erste für die Arrayzeile, der zweite für den Eintrag in der jeweiligen Zeile. > > > Beispiel: > > TestArray = ["abc","1234"] > TestArray.append(["def","5678"]) > TestArray.append(["ghi","9ABC"]) > TestArray.append(["jkl","DEFG"]) Weitere Alternative: TestArray = [] TestArray.append(["abc","1234"]) .. > Statt "append" habe ich auch schon anderes versucht .. TestArray=[ ["abc","1234"],["def","5678"], ["ghi","9ABC"],["jkl","DEFG"] ] > Wie kann ich also sinnvoll mit Arrays umgehen ? > So, wie man es z.B. aus C kennt ? Stelle Dir ein Python array als ein array von pointer in C vor, die auf Elemente vom beliebigen Typ zeigen. So ein Typ kann wieder ein array sein. Ein C struct bilde ich auf eine Python Klasse ab. struct { int x,y } A; sähe in Python etwa so aus: class A: def __init__(self): self.x=0 self.y=0 Da Layout liegt in C fest in Python nicht. Da geht auch: class A: def __init__(self): pass u=A() u.x=0 u.y=0 Hermann der nach ca 10 Haupt Programmierprache C ca 10 jahre Hauptprogrammiersprache Python verwendet. ( Und immer 3+n statt 4*n einrückt. n von 0 bis ) -- http://www.hermann-riemann.de