Gibt es einen pythonischen Weg, um die Werte eines Wörterbuchs seinen Schlüsseln zuzuweisen, um die Wörterbucheinträge in Variablen umzuwandeln? Ich habe das ausprobiert:
%Vor%UPDATE: Vielleicht hätte ich genauer sein sollen: Ich bin mir eigentlich sicher, dass die Schlüssel-Wert-Paare korrekt sind, weil sie zuvor von mir zuvor als Variablen definiert wurden. Ich habe dann diese Variablen in einem Wörterbuch gespeichert (als Schlüssel-Wert-Paare) und möchte sie in einer anderen Funktion wiederverwenden. Ich könnte sie einfach in der neuen Funktion noch einmal definieren, aber da ich vielleicht ein Wörterbuch mit etwa 20 Einträgen habe, dachte ich, es könnte einen effizienteren Weg dafür geben.
Sie können dies in einer einzigen Zeile mit:
tun %Vor%Ich habe diese Lösung in einem anderen Thread gesehen. Obwohl Sie sollten Achten Sie darauf, wie Python den Zugriff von lokalen Benutzern / Globals bei Verwendung dieses Tricks optimieren kann .
Ich denke, das Bearbeiten von locals()
ist generell eine schlechte Idee. Wenn Sie denken, dass globals()
eine bessere Alternative ist, denken Sie zweimal darüber nach! :-D
Ich würde immer einen Namespace verwenden:
%Vor%Sie haben bereits ein perfektes Wörterbuch. Benutze das einfach. Wenn Sie wissen, was die Schlüssel sein werden, und Sie sind absolut sicher, dass dies eine vernünftige Idee ist, können Sie etwas wie
tun %Vor%Aber meistens sollten Sie nur das Wörterbuch verwenden. (Wenn Sie das Wörterbuch nicht verwenden, organisieren Sie Ihre Daten wahrscheinlich nicht gut. Bitten Sie um Hilfe, es zu reorganisieren.)
Betrachten Sie die "Bunch" -Lösung in Python: Laden Sie Variablen in a dict in den Namespace . Ihre Variablen enden als Teil eines neuen Objekts, nicht als Locals, aber Sie können sie als Variablen anstelle von dict-Einträgen behandeln.
%Vor%Tags und Links python dictionary