Discussion:
[Python-de] mehrdimensionale Arrays
Stefan Miefert
2005-07-25 22:37:27 UTC
Permalink
Hallo,

wie verwirkliche ich sowas ähnliches mit Python

z.B.

array[name][1]="Frank"
array[name][2]="Michael"
array[strasse][1]="Lindenstraße"

?
Andi Albrecht
2005-07-26 00:36:27 UTC
Permalink
Hallo,

mit einem Dictionary beispielsweise so:

dic[1]["name"] = "Frank"
dic[2]["name"] = "Michael"
dic[1]["strasse"] = "Lindenstrasse"

Grüße,

Andi
Post by Stefan Miefert
Hallo,
wie verwirkliche ich sowas ähnliches mit Python
z.B.
array[name][1]="Frank"
array[name][2]="Michael"
array[strasse][1]="Lindenstraße"
?
_______________________________________________
http://python.net/mailman/listinfo/python-de
"Martin v. Löwis"
2005-07-27 03:05:53 UTC
Permalink
Post by Stefan Miefert
wie verwirkliche ich sowas ähnliches mit Python
z.B.
array[name][1]="Frank"
array[name][2]="Michael"
array[strasse][1]="Lindenstraße"
Es ist mir nicht ganz klar, was genau das ausdrücken
soll: geht es um zwei Personen, Frank und Michael,
wobei Frank in der Lindenstrasse wohnt, oder um eine
Person, mit zwei Namen (Frank Michael)?

Angenommen, es geht um letzteres: also array ist
eine Person. Dann empfehle ich

class Person:
def __init__(self, namen, strasse):
self.namen = namen
self.strasse = strasse

array = Person(['Frank', 'Michael'], 'Lindenstraße')
# obwohl array jetzt ein unglücklicher Variablenname
# ist, weil es ja *eine* Person enthält, kein array.

print array.namen[0] # Indizierung fängt von 0 an
print array.namen[1]
print array.strasse

Willst Du die Person lieber schrittweise aufbauen,
musst Du den Konstruktor leer lassen

class Person:
def __init__(self):
self.name = []
self.strasse = []

derfrank = Person()
derfrank.name.append("Frank")
derfrank.name.append("Michael")
derfrank.strasse.append("Lindenstrasse")

Ciao,
Martin

Lesen Sie weiter auf narkive:
Suchergebnisse für '[Python-de] mehrdimensionale Arrays' (Fragen und Antworten)
3
Antworten
C#: >20 Arrays ersetzen, womit?
gestartet 2014-02-18 07:28:22 UTC
programmierung & design
Loading...