Ich versuche, ein Verständnis zu schreiben, das zwei Wörterbücher auf folgende Weise zusammensetzt:
%Vor%Das heißt, das resultierende Wörterbuch wird aus den Schlüsseln des ersten und den Werten des zweiten für jedes Paar gebildet, wobei der Wert des ersten gleich dem Schlüssel des zweiten ist.
Das habe ich bis jetzt:
%Vor%aber es funktioniert nicht. Ich bin neu bei Python, also bin ich mir nicht sicher, ob das wirklich Sinn macht. Ich benutze Python 3.3.2 übrigens.
Vielen Dank im Voraus.
Eine Möglichkeit, dies zu tun ist:
%Vor%Welches Verhalten wollten Sie für Schlüssel, die einen Wert haben, der nicht in d2 ist?
Zwei Dinge, die Sie beachten sollten:
1) Wenn Sie eine for-in-Schleife direkt in einem dict verwenden:
%Vor%python schleift über die Schlüssel im dict, d. h. dass die for-in-Schleife äquivalent ist zu:
%Vor%Aber Sie sagen Python, dass jedes Mal ein Zwei-Tupel durch die Schleife zurückgegeben wird (k1, v1), und Python gibt nur jedes Mal einen Schlüssel durch die Schleife zurück. Das ist also ein Fehler. Sie können das korrigieren, indem Sie schreiben:
%Vor%Die Funktion items () gibt jedes Mal ein Zwei-Tupel (Schlüssel, Wert) durch die Schleife zurück.
2) Angenommen, Sie haben diese Daten:
%Vor%Um jeden der sechs Werte zu durchlaufen, fühlt es sich natürlich an, zu schreiben:
%Vor%Aber das erzeugt den Fehler:
%Vor%Damit es funktioniert, müssen die Schleifen "rückwärts" geschrieben werden:
%Vor%Ich denke, der einfachste Weg sich daran zu erinnern ist: Die Schleifen sind in der gleichen Reihenfolge, wie wenn Sie sie ohne Listenverständnis geschrieben hätten:
%Vor%Persönlich würde ich gerne sehen, dass sich das in python geändert hat, so dass man in einem Listen / dict / set Verständnis von "von innen nach außen" arbeitet, wie du es geschrieben hast. In jedem Fall sieht Ihr Code mit den Änderungen so aus:
%Vor%Tags und Links python