Python dictionary schlüssel + wert ausgeben

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
martinjo
User
Beiträge: 186
Registriert: Dienstag 14. Juni 2011, 20:03

Hallo,

mal ne ganz blöde Frage, wie kann ich den bei einem Dict Schlüssel und Wert gleichzeitig ausgeben, aber eben nicht auf einen Schlag sondern zeilenweise? :K
Benutzeravatar
martinjo
User
Beiträge: 186
Registriert: Dienstag 14. Juni 2011, 20:03

Klar, natürlich nur online stellen und sofort schnallt man es :roll:

Code: Alles auswählen

for info in order:
    print info
    print order[info] 
BlackJack

@martinjo: Schau Dir mal die `iteritems()`-Methode auf `dict`\s an.
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Mir stellt sich gerade die Frage, aus welchem Grund beim "einfachen" iterieren über ein dict "nur" die keys ausgegeben werden? Warum haben die Python-Leute das wohl so gemacht?

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
BlackJack

@mutetella: Vielleicht damit das symmetrisch zum ``in``-Operator ist, also man damit nicht gegen andere Objekte testet als die Iteration über das Objekt ergibt. Denn in der Regel ist ``a in b`` äquivalent zu ``any(a == x for x in b)``.
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

@mutella: Weil Schlüssel der Schlüssel sind und Wert "nichts" (bzw. austauschbar)? KV-Stores handhaben das z.B. auch so. Wie ist das denn in anderen Programmiersprachen?

Gruß, noisefloor
lunar

@noisefloor In der Standardbibliothek von C++, C# und Java iteriert man über Schlüssel-Wert-Paare.
BlackJack

@lunar: Sind `Map`\s in Java überhaupt „iterable”? Ich dachte nicht und damit muss sich der Programmierer explizit entscheiden worüber er mit einer ``for``-Schleife iterieren möchte.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

BlackJack hat geschrieben:@lunar: Sind `Map`\s in Java überhaupt „iterable”?
Offenbar nicht: Link. Will man über beides iterieren, muss man sich wohl per ``entrySet``-Methode eine Menge von Paaren holen.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
BlackJack

Oder über `keySet()` oder über `values()`. Bei Java wird es also dem Programmierer überlassen worüber er iterieren möchte.
Antworten