Seite 1 von 1
Wege namedtuple zu realisieren
Verfasst: Samstag 21. Januar 2017, 17:15
von Bindl
Hi,
ich suche Arten wie man bennante Rekord-Datenstrukturen realisieren kann.
Ich meine eine Art ist ein Dictionary:
Z.B.: {plz:xxxxx , ort:yyyyy, strasse: zzzzz}
Sind einfach Tupel,
z.B.: (0,"Hallo",3)
oder auch Listen,
z.B:.: [1,"Hi",99]
auf namedtuple?
Ich wäre dankbar für eure Aufklärung.
Re: Wege namedtuple zu realisieren
Verfasst: Samstag 21. Januar 2017, 17:26
von pyHoax
Re: Wege namedtuple zu realisieren
Verfasst: Samstag 21. Januar 2017, 17:47
von Bindl
Hi,
auf der Seite war ich zuvor schon nur war das dict nicht dabei.
Das ist bei mir im Skript aber als Beispiel gegeben für ein namedtuple in Python.
Gibt es also die drei Varianten in Python:
namedtuple("Point", ["x", "y"], verbose=True)
Also ein Tupel mit einem einfachen String ("Point") oder eine Liste mit Strings als Inhalt (["x", "y"]), oder eine Wertzuweisung (verbose=True)?
Müssen es Strings oder Wahrheitswerte sein, oder dürfen es auch Integer oder floats sein?
Ist ein dict innerhalb der Tupels erlaubt?
Also dann so: namedtuple({plz:12345 , ort: hamburg}) ?
Danke schonmal für die Hilfe
Re: Wege namedtuple zu realisieren
Verfasst: Samstag 21. Januar 2017, 18:12
von Sirius3
@Bindl: »namedtuple« erzeugt einen Datentyp und nicht das Tuple selbst. Für Deinen Fall also
Code: Alles auswählen
Address = namedtuple("Address", "plz, ort, strasse")
my_home = Address(plz=20457, ort="Hamburg", strasse="Platz der Deutschen Einheit 1")
Re: Wege namedtuple zu realisieren
Verfasst: Samstag 21. Januar 2017, 18:24
von Bindl
Hi,
das errinert mich schwer an Klassen und die Parameter mit der __init__ Funktion.
Was mich jetzt noch etwas verwirrt ist das unser Prof. von 3 unterschiedlichen Möglichkeiten spricht, wie man eine benannte Rekord-Datenstruktur in Python realisieren kann.
Als Beispiel in unserem Skript ist wie gesagt einfach ein Dictionary angebeben.
Was sind denn nun die 3 Möglichkeiten?
Das ist mir noch nicht so wirklich klar.
PS: Sorry für die vielen Nachfragen.
Re: Wege namedtuple zu realisieren
Verfasst: Samstag 21. Januar 2017, 18:28
von BlackJack
@Bindl: Wörterbuch, `collections.namedtuple()`, und ``class`` würde ich mal vermuten. Letztendlich kann Dir das aber nur Dein Prof beantworten was er da gemeint hat.
Re: Wege namedtuple zu realisieren
Verfasst: Samstag 21. Januar 2017, 18:39
von Bindl
Eine Frage noch, bzw. Korrektur.
Ist folgendes korrekt?
und
Re: Wege namedtuple zu realisieren
Verfasst: Samstag 21. Januar 2017, 18:41
von pyHoax
Was sind denn nun die 3 Möglichkeiten?
atrribut dicts, namedtuple und class
Atrribut dicts musst du aber selber implementieren oder von hier importieren
https://pypi.python.org/pypi/attrdict
Ist folgendes korrekt?
Nein, beides nicht.
Warrum fragst du nicht deinen python interpreter ?
Re: Wege namedtuple zu realisieren
Verfasst: Samstag 21. Januar 2017, 18:59
von Bindl
Was sind denn nun die 3 Möglichkeiten?
atrribut dicts, namedtuple und class
Atrribut dicts musst du aber selber implementieren oder von hier importieren
https://pypi.python.org/pypi/attrdict
Vielen Dank für die Hilfe euch allen.
Warrum fragst du nicht deinen python interpreter ?
Gute Frage. Habe gedacht, bevor ich blind herumprobiere frage ich die Experten.
Wenn ich etwas mehr Ahnung von einem Teilgebiet habe probiere ich ganz gerne herum.
Hier war ich mir aber sehr unsicher wie das ganze geht.