Ambriador hat geschrieben:Danke für die Antwort.
Wie baue ich da am besten dann noch die map() FUnktion ein? Bin leider echt überfragt :K
Die Aufgabe ist in einer Zeile lösbar, aber vielleicht etwas kniffelig, da man ein bisschen mit Datenstrukturen und der Syntax von Python jonglieren muss. Ich würde mich schrittweise da herantasten. Hier mal als Anregung ein ähnliches Beispiel :
Code: Alles auswählen
In [1]: numbers = { 1: 'Eins', 2: 'Zwei', 3: 'Drei'}
In [2]: dict(map(lambda x: (x[1], x[0]), numbers.items()))
Out[2]: {'Drei': 3, 'Eins': 1, 'Zwei': 2}
(Eigentlich ist das schon fast eine Lösung )
Nö, finde ich nicht schön. Die Syntax ist als sie eingeführt wurde nicht wirklich nötig gewesen weil sie kein Problem gelöst hat. Schreib `dict` vor die geschweifte Klammer, mach aus den geschweiften Klammern runde Klammern, und aus dem ``schlüssel: wert``-Teil ein Tupel ``(schlüssel, wert)`` und Du hast den gleichen Effekt mit weniger zusätzlicher Syntax.
Ich kann den Punkt mit der zusätzlichen Syntax zwar irgendwie nachvollziehen, und aus zugehörigen dem
PEP geht hervor, dass sie lange nicht umgesetzt wurden, weil es dict und Generatoren gibt. Nur könnte man mit der Begründung nicht alle Comprehensions durch Generatoren ersetzen? Set- und Listcomprehensions finde ich persönlich ganz nett, Dicionaries wirken ein bisschen so, als wären sie in erster Linie da, weil es die anderen beiden gibt. Teilweise scheint es ja auch um Performancegründe zu gehen.