Seite 1 von 1

Python dictionary schlüssel + wert ausgeben

Verfasst: Mittwoch 17. Oktober 2012, 00:18
von martinjo
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

Re: Python dictionary schlüssel + wert ausgeben

Verfasst: Mittwoch 17. Oktober 2012, 00:23
von martinjo
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] 

Re: Python dictionary schlüssel + wert ausgeben

Verfasst: Mittwoch 17. Oktober 2012, 00:25
von BlackJack
@martinjo: Schau Dir mal die `iteritems()`-Methode auf `dict`\s an.

Re: Python dictionary schlüssel + wert ausgeben

Verfasst: Mittwoch 17. Oktober 2012, 06:58
von mutetella
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

Re: Python dictionary schlüssel + wert ausgeben

Verfasst: Mittwoch 17. Oktober 2012, 07:34
von 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)``.

Re: Python dictionary schlüssel + wert ausgeben

Verfasst: Mittwoch 17. Oktober 2012, 09:47
von noisefloor
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

Re: Python dictionary schlüssel + wert ausgeben

Verfasst: Mittwoch 17. Oktober 2012, 11:30
von lunar
@noisefloor In der Standardbibliothek von C++, C# und Java iteriert man über Schlüssel-Wert-Paare.

Re: Python dictionary schlüssel + wert ausgeben

Verfasst: Mittwoch 17. Oktober 2012, 12:22
von 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.

Re: Python dictionary schlüssel + wert ausgeben

Verfasst: Mittwoch 17. Oktober 2012, 18:17
von Hyperion
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.

Re: Python dictionary schlüssel + wert ausgeben

Verfasst: Mittwoch 17. Oktober 2012, 20:51
von BlackJack
Oder über `keySet()` oder über `values()`. Bei Java wird es also dem Programmierer überlassen worüber er iterieren möchte.