Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.python > #5781 > unrolled thread

Mehrdimensionale Arrays in Python.. Wie ?

Started by"wolfgang bauer (D)" <schutz@gmx.de>
First post2021-12-21 19:39 +0100
Last post2021-12-22 17:29 +0100
Articles 4 — 3 participants

Back to article view | Back to de.comp.lang.python


Contents

  Mehrdimensionale Arrays in Python.. Wie ? "wolfgang bauer (D)" <schutz@gmx.de> - 2021-12-21 19:39 +0100
    Re: Mehrdimensionale Arrays in Python.. Wie ? Christoph Brinkhaus <C.Brinkhaus@t-online.de> - 2021-12-21 19:33 +0000
      Re: Mehrdimensionale Arrays in Python.. Wie ? "wolfgang bauer (D)" <schutz@gmx.de> - 2021-12-21 21:05 +0100
    Re: Mehrdimensionale Arrays in Python.. Wie ? Hermann Riemann <nospam.ng@hermann-riemann.de> - 2021-12-22 17:29 +0100

#5781 — Mehrdimensionale Arrays in Python.. Wie ?

From"wolfgang bauer (D)" <schutz@gmx.de>
Date2021-12-21 19:39 +0100
SubjectMehrdimensionale Arrays in Python.. Wie ?
Message-ID<spt71u$60h$1@dont-email.me>
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"])


print(TestArray[0][0])
 Das sollte "abc" ergeben, tats. aber erhalte ich: "a"

print(TestArray[1][1])
 Das sollte "5678" ergeben, tats. aber erhalte ich: "2"

Auch wenn ich mit dem Doppelpunkt experimentiere (wie z.B. TestArray[1:][1]) erhalte ich nichts nachvollziehbares.

Statt "append" habe ich auch schon anderes versucht ..

Das Netz gibt nichts wirklich sinnvolles her. Mit "numpy" wird es auch nicht besser.

Wie kann ich also sinnvoll mit Arrays umgehen ?  So, wie man es z.B. aus C kennt ?






-- 
Gruß, Greetings

[toc] | [next] | [standalone]


#5782

FromChristoph Brinkhaus <C.Brinkhaus@t-online.de>
Date2021-12-21 19:33 +0000
Message-ID<spta6k$vrm$1@tota-refugium.de>
In reply to#5781
wolfgang bauer (D) <schutz@gmx.de> schrieb:

Hallo Wolfgang,

> 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"])
>
>
> print(TestArray[0][0])
>  Das sollte "abc" ergeben, tats. aber erhalte ich: "a"
>
> print(TestArray[1][1])
>  Das sollte "5678" ergeben, tats. aber erhalte ich: "2"
>
> Auch wenn ich mit dem Doppelpunkt experimentiere (wie z.B. TestArray[1:][1]) 
> erhalte ich nichts nachvollziehbares.
>
> Statt "append" habe ich auch schon anderes versucht ..
>
> Das Netz gibt nichts wirklich sinnvolles her. 
> Mit "numpy" wird es auch nicht besser.
>
> Wie kann ich also sinnvoll mit Arrays umgehen ? 
> So, wie man es z.B. aus C kennt ?
>
Ändere mal de erste Zeile in
TestArray = [["abc","1234"]]

Du sieht den Unterschied der TestArrays wenn Du die interaktiv
als TestArray ausgibst oder print(TestArray) im Code einbaust.

Noch viel Erfolg beim Lernen, ich bin dafür ein Laie in C.

Viele Grüße,
Christoph

[toc] | [prev] | [next] | [standalone]


#5783

From"wolfgang bauer (D)" <schutz@gmx.de>
Date2021-12-21 21:05 +0100
Message-ID<sptc2f$b97$1@dont-email.me>
In reply to#5782
21.12.21 , 20:33 , Christoph Brinkhaus:

> Ändere mal de erste Zeile in
> TestArray = [["abc","1234"]]
> 
> Du sieht den Unterschied der TestArrays wenn Du die interaktiv
> als TestArray ausgibst oder print(TestArray) im Code einbaust.

Danke! Das war die erhoffte Lösung. Der Zugriff läuft nun wie erwartet. :-)  





-- 
Gruß, Greetings

[toc] | [prev] | [next] | [standalone]


#5784

FromHermann Riemann <nospam.ng@hermann-riemann.de>
Date2021-12-22 17:29 +0100
Message-ID<j2h22rFb8q7U1@mid.individual.net>
In reply to#5781
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

[toc] | [prev] | [standalone]


Back to top | Article view | de.comp.lang.python


csiph-web