Destructuring-binden Wörterbuch-Inhalt

Ich versuche zu 'destructure' ein Wörterbuch und ordnen Sie die Werte mit Variablen Namen nach seinem Schlüssel. So etwas wie

params = {'a':1,'b':2}
a,b = params.values()

Aber da dictionaries nicht sortiert, es gibt keine Garantie, dass params.values() zurück Werte werden in der Reihenfolge der (a, b). Ist es ein schöner Weg, dies zu tun?

  • Faul? Vielleicht... aber natürlich habe ich gezeigt habe, der einfachste Fall für die illustration. Im Idealfall wollte ich zu tun haben, wie für x in params.Artikel: eval('%s = %f' % x), aber ich denke eval() erlaubt keine Zuweisungen.
  • Ich bin mir ziemlich sicher, dass die meisten Nutzer von ES6 (JavaScript) mag das neue Objekt destructuring syntax: let {a, b} = params. Es erhöht die Lesbarkeit und ist vollständig inline mit dem, was Zen Sie reden wollen.
  • Ich Liebe Objekt destructuring in JS. Was für eine saubere, einfache und lesbare Weise zu extrahieren einige Schlüssel von einem dict. Ich kam hierher mit der Hoffnung, etwas ähnliches in Python.
  • sicherlich beats-Python-Tupel destructuring, wo man Sie leicht erreichen kann die Reihenfolge falsch!
  • Ich Liebe auch ES6 Objekt destructuring, aber ich fürchte, es kann nicht funktionieren in Python aus dem gleichen Grund ES6 ' s Map-Objekt nicht unterstützt destructuring. Keys sind nicht nur strings in ES6 Karte und Python dict. Auch, obwohl ich Liebe das "zupfen" Stil-Objekt destructuring in ES6, die Zuordnung der Art ist nicht einfach. Was ist denn hier Los? let {a: waffles} = params . Es dauert ein paar Sekunden, um es herauszufinden, auch wenn du es gewöhnt bist.
InformationsquelleAutor hatmatrix | 2010-06-02
Schreibe einen Kommentar