Seite 2 von 2
Re: Dictionary-Einträge in Zufallsreihenfolge
Verfasst: Mittwoch 4. März 2015, 14:16
von lordzwieback
BlackJack hat geschrieben:@lordzwieback: Warum zwei getrennte Listen und dann `zip()`? Das was `zip()` als Ergebnis hat, kann man doch auch gleich als Datenstruktur schreiben. Dann hat man die Daten auch immer zusammen und muss wenn man etwas ändern möchte nicht in zwei getrennten Listen im Quelltext mühsam abzählen welche beiden Einträge zusammengehören.
Meintest du in etwa so ? Das habe ich in Bezug auf Datenstrukturen/Sequenzen gefunden und umgesetzt. Ist auch praktischer, da ich einfach Einträge wie beispielsweise die englischen Begriffe hinzufügen kann. (Soweit ich das zumindest verstanden habe)
Code: Alles auswählen
osi_layer = [
["Schicht 1", "Bitübertragungsschicht"],
["Schicht 2", "Sicherungsschicht"],
["Schicht 3", "Vermittlungsschicht"],
["Schicht 4", "Transportschicht"],
["Schicht 5", "Sitzungsschicht"],
["Schicht 6", "Darstellungsschicht"],
["Schicht 7", "Anwendungsschicht"]
]
Später im Code versuche ich dann, über diese Datenstruktur zu laufen und mir die Datensätze ausgeben zu lassen, dabei bin ich auf ein Problem gestoßen:
Das zeigt mir beispielsweise eine Liste an:
Schicht 1
Schicht 2
Schicht 3 ... usw
Aber wie bekomme ich die zugehörige Bezeichnung ausgegeben ? Folgendes habe ich schon getestet:
Da bekomm ich dann nur den Buchstaben von beispielsweise "Schicht 1" angezeigt ("c"). Mit einem "," zwischen den eckigen Klammern funktioniert es auch nicht.
Mal so nebenbei: Vielen Dank für eure Geduld und Hilfe
Werde trotzdem mal noch weitersuchen und mich hier melden, wenn ich die Lösung selbst gefunden habe.
Grüße
Re: Dictionary-Einträge in Zufallsreihenfolge
Verfasst: Mittwoch 4. März 2015, 14:25
von Sirius3
@lordzwieback: schau Dir halt mal an, was entry für ein Objekt ist.
Re: Dictionary-Einträge in Zufallsreihenfolge
Verfasst: Mittwoch 4. März 2015, 14:33
von lordzwieback
@Sirius3 Ich will wirklich nicht 'unhöflich' sein, aber hättest du die Frage beantworten können nach einer Woche programmieren mit Python ? Weil ich ehrlich gesagt keine Ahnung habe, was 'entry' für ein Objekt ist und auch keine Ahnung habe, woran man das erkennt. Bitte entschuldige meine Unwissenheit.
Re: Dictionary-Einträge in Zufallsreihenfolge
Verfasst: Mittwoch 4. März 2015, 14:37
von Hyperion
Schau Dir doch mal Deine Definition von ``osi_layer`` an. ``osi_layer`` selber ist eine Liste. Darin enthalten als Einträge sind wieder *Listen*.
Dann schau Dir die Schleife an:
Das kann man auch lesen als "für alle Einträge in der gegebenen Sammlung", wobei Sammlung hier eine Liste ist. Die Einträge Deiner Liste sind ja bekannt, s.o. Also wird ``entry`` in jedem Durchgang genau von diesem Typ sein
Wenn Du einen Typen ermitteln willst, kannst Du die Funktion ``type`` nutzen. Also für das erste Element von ``osi_layer`` z.B.:
Und auf die Elemente einer Liste kann man mittels Indexzugriff zugreifen!
Wobei Du bei fixen Einträgen diese auch gleich im Schleifenkopf entpacken kannst:
Du könntest Dir das Leben auch einfacher machen, indem Du die "Schicht x" Einträge eliminierst. Wie das geht, kannst Du
hier lernen

Re: Dictionary-Einträge in Zufallsreihenfolge
Verfasst: Mittwoch 4. März 2015, 14:40
von lordzwieback
@Hyperion Danke für die Tipps. Werde mir das reinpfeifen und mich dann wieder melden.
Re: Dictionary-Einträge in Zufallsreihenfolge
Verfasst: Mittwoch 4. März 2015, 14:55
von Sirius3
@lordzwieback: anschauen, was für ein Objekt eine bestimmte Variable hat, sollte eines der ersten Dinge sein, die man lernt. In meinem Traumeinsteigerbuch für Python steht das in Kapitel 1.2: "Wie probiere ich Dinge in der interaktiven Pythonkonsole aus?"
In Deinem Fall fügst Du einfach an passender Stelle ein "print(type(entry))" bzw. "print(entry)" ein.
Re: Dictionary-Einträge in Zufallsreihenfolge
Verfasst: Mittwoch 4. März 2015, 16:14
von pillmuncher
Die einzig richtige Art zu debuggen (in Python):
Code: Alles auswählen
def foo(x):
...
print('???', type(x), ':::', x)
y = bar(x)
print('!!!', type(y), ':::', y)
...
Re: Dictionary-Einträge in Zufallsreihenfolge
Verfasst: Mittwoch 4. März 2015, 16:21
von BlackJack
Ich benutze da ja auch ganz gerne `q`:
https://github.com/zestyping/q