Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.python > #5781 > unrolled thread
| Started by | "wolfgang bauer (D)" <schutz@gmx.de> |
|---|---|
| First post | 2021-12-21 19:39 +0100 |
| Last post | 2021-12-22 17:29 +0100 |
| Articles | 4 — 3 participants |
Back to article view | Back to de.comp.lang.python
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
| From | "wolfgang bauer (D)" <schutz@gmx.de> |
|---|---|
| Date | 2021-12-21 19:39 +0100 |
| Subject | Mehrdimensionale 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]
| From | Christoph Brinkhaus <C.Brinkhaus@t-online.de> |
|---|---|
| Date | 2021-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]
| From | "wolfgang bauer (D)" <schutz@gmx.de> |
|---|---|
| Date | 2021-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]
| From | Hermann Riemann <nospam.ng@hermann-riemann.de> |
|---|---|
| Date | 2021-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